Catalog of PostgreSQL queries for finding information about a PostgreSQL database and its design problems

AND
AND
AND
ANDFrom where does the query gets its information?
AND
AND

There are 996 queries.

Seq nrNameGoalTypeData sourceLast updateLicense...
841The storage size of each index (the system catalog excluded)Get overview of disk usage.Sofware measuresystem catalog base tables only2020-11-06 14:51MIT License
842The storage size of each table (including indexes) (the system catalog excluded)Get overview of disk usage.Sofware measuresystem catalog base tables only2020-11-06 14:51MIT License
843The total storage size of all indexes (the system catalog excluded)Get overview of disk usage.Sofware measuresystem catalog base tables only2020-11-06 14:51MIT License
844The total storage size of the database (the system catalog included)Get overview of disk usage.Sofware measuresystem catalog base tables only2020-11-06 14:51MIT License
845The storage size of each schema data object (the system catalog excluded)Get overview of disk usage by different schema objects that contain user data.Sofware measuresystem catalog base tables only2020-11-06 14:51MIT License
846Data type usage in the base table columnsGet overview of used data types in the columns of base tables. If the selection is very small then this is a warning sign that perhaps unsuitable types have been used.GeneralINFORMATION_SCHEMA only2023-12-22 12:39MIT License
847Disabled rulesIdentify disabled rules. These should be enabled or dropped, otherwise these are dead code.Problem detectionsystem catalog base tables only2022-10-21 11:22MIT License
848Disabled user triggersIdentify disabled triggers. These should be enabled or dropped, otherwise these are dead code.Problem detectionsystem catalog base tables only2021-02-25 17:30MIT License
849Base tables and foreign tables that do not have any CHECK constraints on non-foreign key columnsIdentify possibly missing CHECK constraints.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-11-02 10:41MIT License
850The number of domains by schema and in totalIdentify the number of domains in different schemas.Sofware measureINFORMATION_SCHEMA only2020-11-06 14:51MIT License
851The number of sequence generators in different schemasIdentify the number of sequence generators in different schemas. Surrogate key values must be generated by using the system (the sequence generator mechanism in case of PostgreSQL). If there are no sequence generators, then there is a question as to whether there are no surrogate keys in the database at all (could be possible and OK) or (more probable) developers have forgotten to implement the generation of surrogate keys at the database level. An alternative is to implement generation of unique values at the application level or at the database level by using triggers. However, such implementation would most probably lead to the performance penalty because adding new rows to the table must be serialized, i.e., it can be done in one session at a time.Sofware measureINFORMATION_SCHEMA only2021-03-07 20:55MIT License
852Triggers with SELECT (i.e., probably check data based on another table)If a trigger is used for enforcing a constraint, then it should take into account that due to the implementation of multiversion concurrency control (MVCC) in PostgreSQL, reading data does not block data modification and vice versa. Thus, there may be a need to lock the entire table or some row explicitly.GeneralINFORMATION_SCHEMA+system catalog base tables2020-11-06 14:51MIT License
853Missing USAGE privileges on schemaIf a user has a privilege to use a schema object, then the user must also have the usage privilege on the schema that contains the object.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-11-21 12:06MIT License
854Potentially missing PRIMARY KEY or UNIQUE constraints (based on UUIDs)If something has to be unique, then it must be said to the system so that it could use the information for internal optimizations and enforce the constraint. Find columns that contain Universally Unique Identifiers but are not a part of any simple PRIMARY KEY/UNIQUE constraint and are also not part of a foreign key.Problem detectionINFORMATION_SCHEMA+system catalog base tables2022-11-03 11:18MIT License
855Incorrect prefix of a constraint name or an index nameIf the name of an object has the prefix that refers to the type of the object (for instance, primary key constraint or foreign key constraint), then you should use references to the correct object type. Find prefixes of constraint names and index names that incorrectly refer to the type of the object. For instance, incorrect would be to use chk_ as the prefix of an index name or pk_ as the prefix of a check constraint name.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-28 10:48MIT License
856Incorrect suffix of a constraint name or an index nameIf the name of an object has the suffix that refers to the type of the object (for instance, primary key constraint or foreign key constraint), then you should use references to the correct object type. Find suffixes of constraint names and index names that incorrectly refer to the type of the object. For instance, incorrect would be to use _chk as the suffix of an index name or _pk as the suffix of a check constraint name.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-28 10:44MIT License
857Parameter name is the same as the name of a used columnIf the name of a routine parameter and the name of a column of a table that is used in the routine are the same, then it makes it more difficult to understand the code.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-01-20 13:54MIT License
858Parameter name is the same as the name of a used column (ver 2)If the name of a routine parameter and the name of a column of a table that is used in the routine are the same, then it makes it more difficult to understand the code.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-01-20 13:54MIT License
859Privileges to use base table columnsIf you do give privileges to base tables, then these should follow the principle of least privilege - the smallest possible amount of privileges to the smallest possible set of columnsGeneralINFORMATION_SCHEMA+system catalog base tables2020-12-29 10:38MIT License
860No point to have in a procedure COMMIT without ROLLBACK or vice versaIf you end transaction in a procedure, then there should be a possibility to either commit or rollback the transaction based on some condition. Procedures appeared in PostgreSQL 11.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-11-04 12:00MIT License