Seq nr | Name▲ | Goal | Type | Data source | Last update | License | ... |
---|---|---|---|---|---|---|---|
861 | The proportion of using different integer types as types of base table columns | Find the number of base table columns that use different integer types (SMALLINT, INTEGER, BIGINT) and their proportion from the overall set of columns that use an integer type. | Sofware measure | INFORMATION_SCHEMA only | 2021-03-03 12:41 | MIT License | |
862 | The reference to a database operation is missing from a comment | Find user-defined routines that comment does not contain a reference to a database operation that the routine implements. In case of routines that have been created based on the contracts of database operations, one should refer to the short identifier of the operation in the comment of the routine. The operation identifier must be in this case in the form OP | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-11-04 11:39 | MIT License | |
863 | There is no reason to use PL/pgSQL if you do not use one or more features of a procedural language | Using PL/pgSQL may cause context switching between declarative SQL and procedural PL/pgSQL. Thus use PL/pgSQL only if you truly need some of its constructs (variables, conditional statements, cycles, cursors, exception handling). | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-11-04 16:32 | MIT License | |
864 | There is no reason to use PL/pgSQL to write table functions | Using PL/pgSQL may cause context switching between declarative SQL and procedural PL/pgSQL. Thus use PL/pgSQL only if you truly need some of its constructs. You can create table functions by using SQL. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2021-11-04 11:28 | MIT License | |
865 | The same CHECK has a different name in different places | Find the names of table CHECK constraints that have the same Boolean expression but a different naming style in different places (tables). The naming of constraints should be consistent. "If you do something a certain way, do all similar things in the same way." (Robert C. Martin, Clean Code)x | Problem detection | system catalog base tables only | 2024-11-28 14:44 | MIT License | |
866 | The same CHECK has a different name in different places (2) | Find the names of table CHECK constraints that have the same Boolean expression but a different naming style in different places (tables). The naming of constraints should be consistent. "If you do something a certain way, do all similar things in the same way." (Robert C. Martin, Clean Code) | Problem detection | system catalog base tables only | 2024-11-28 14:47 | MIT License | |
867 | The same database object name is used repeatedly in case the same database object type | Find what database object names are used more than once in case the objects of the same type. If the names differ from each other only by digits or underscores, then consider these the same name. For instance, if there are base tables Person and Person2 (in the same schema or different schemas), then the query returns the name Person. Make sure that there is no duplication of implementation elements in the database. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:42 | MIT License | |
868 | The same name is used in different contexsts | Find the names that are used in case of different types of elements | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:23 | MIT License | |
869 | The same sequence generator is used in case of multiple columns | Do not cause a potential performance bottleneck by having a shared resource. By having a shared sequence it is not possible to change properties of sequences of different tables independently (for instance the owner column or step), i.e., it increases coupling between tables. By having a shared sequence it is impossible to specify the owner (table column) to the sequence generator. | Problem detection | INFORMATION_SCHEMA only | 2021-03-07 21:07 | MIT License | |
870 | The same trigger function is used in case of multiple tables | Find trigger functions that are used in case of more than one table. Although it is legal, one must be careful when changing the functions in order to avoid unwanted consequences. | General | INFORMATION_SCHEMA only | 2020-12-25 14:50 | MIT License | |
871 | The shortest names of database objects by object type | "Names in software are 90 percent of what make software readable. You need to take the time to choose them wisely and keep them relevant. Names are too important to treat carelessly. Names should not cause confusion." (Robert C. Martin, Clean Code) Names should be expressive. Find the shortest (identifiers) names of user-defined objects by their type. These could be the first candidates of renaming in order to give to database objects better names. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 17:24 | MIT License | |
872 | The size of base tables and their indexes | Find the size of base tables without indexes, size of the indexes of the table, total size of the table (including its indexes) and percentage of the index size from the total size. If the size of indexes of a table is relatively high, then check as to whether all the indexes are needed. | General | system catalog base tables only | 2023-10-27 20:38 | MIT License | |
873 | The SQL-language routines with the body that is string literal | Find SQL-language routines that have the body that is string literal, i.e., the body is not SQL-standard function body. Routines with a SQL-standard body are permitted starting from PostgreSQL 14. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-01-24 18:20 | MIT License | |
874 | 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 | |
875 | 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 | |
876 | 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 | |
877 | The total number of physical lines of code in the bodies of user-defined SQL and PL/pgSQL functions/procedures | Find a numerical measure that describes the extent of the database public interface (virtual data layer) through which users access the database. | Sofware measure | INFORMATION_SCHEMA+system catalog base tables | 2021-11-04 21:02 | MIT License | |
878 | The total size of all indexes (system catalog excluded) | Sofware measure | system catalog base tables only | 2023-05-14 11:04 | MIT License | ||
879 | The total size of all tables (system catalog excluded) | Sofware measure | system catalog base tables only | 2023-05-14 11:04 | MIT License | ||
880 | 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 |