Seq nr | Name | Goal▲ | Type | Data source | Last update | License | ... |
---|---|---|---|---|---|---|---|
801 | Do not always depend on one's parent (INFORMATION_SCHEMA) | Find where a hierarchical structure is implemented in a base table by having a foreign key that refers to a candidate key of the same table. This design is called adjacency list. | General | INFORMATION_SCHEMA only | 2021-03-07 10:57 | MIT License | |
802 | Inconsistent data type usage in case of registering a symbol | Find whether the database uses both CHAR(1) and VARCHAR(1) columns to register a single symbol. | Problem detection | INFORMATION_SCHEMA only | 2021-02-25 17:30 | MIT License | |
803 | Double negatives in regular expressions | Fing regular expression patterns that use [^\S] instead of \s or [^\D] instead of \d or [^\W] instead of \w. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-09 12:01 | MIT License | |
804 | Number of columns covered with constraints | For different types of constraints find the number of columns covered with constraints of such type. | Sofware measure | INFORMATION_SCHEMA+system catalog base tables | 2021-10-16 11:01 | MIT License | |
805 | Input parameters that names do not follow the convention to start with _ or p_ | For the sake of making code better understandable follow naming conventions. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-02-25 17:30 | MIT License | |
806 | Names of database objects that are fully uppercase | Full uppercase means screaming and it makes comprehending the names more difficult. Find the names (identifiers) of user-defined database objects that are fully uppercase. Because PostgreSQL stores regular identifiers lowercase in the system catalog it also means that these are delimited identifiers, i.e., these are case sensitive. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2023-11-07 09:28 | MIT License | |
807 | Percentage of the total index storage size from the total database storage size (system catalog included) | Get overview of disk usage. | Sofware measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
808 | The storage size of each index (the system catalog excluded) | Get overview of disk usage. | Sofware measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
809 | The storage size of each table (including indexes) (the system catalog excluded) | Get overview of disk usage. | Sofware measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
810 | The total storage size of all indexes (the system catalog excluded) | Get overview of disk usage. | Sofware measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
811 | The total storage size of the database (the system catalog included) | Get overview of disk usage. | Sofware measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
812 | The 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 measure | system catalog base tables only | 2020-11-06 14:51 | MIT License | |
813 | Data type usage in the base table columns | Get 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. | General | INFORMATION_SCHEMA only | 2023-12-22 12:39 | MIT License | |
814 | Disabled rules | Identify disabled rules. These should be enabled or dropped, otherwise these are dead code. | Problem detection | system catalog base tables only | 2022-10-21 11:22 | MIT License | |
815 | Disabled user triggers | Identify disabled triggers. These should be enabled or dropped, otherwise these are dead code. | Problem detection | system catalog base tables only | 2021-02-25 17:30 | MIT License | |
816 | Base tables and foreign tables that do not have any CHECK constraints on non-foreign key columns | Identify possibly missing CHECK constraints. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-02-25 17:29 | MIT License | |
817 | The number of domains by schema and in total | Identify the number of domains in different schemas. | Sofware measure | INFORMATION_SCHEMA only | 2020-11-06 14:51 | MIT License | |
818 | The number of sequence generators in different schemas | Identify 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 measure | INFORMATION_SCHEMA only | 2021-03-07 20:55 | MIT License | |
819 | Triggers 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. | General | INFORMATION_SCHEMA+system catalog base tables | 2020-11-06 14:51 | MIT License | |
820 | Missing USAGE privileges on schema | If 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 detection | INFORMATION_SCHEMA+system catalog base tables | 2021-11-21 12:06 | MIT License |