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...
21Perhaps IS DISTINCT FROM should be used instead of <> in WHEN clausesUse a right predicate in trigger condition in order to ensure that the trigger executes always when it has to but not more often. IS DISTINCT FROM treats NULL as if it was a known value, rather than unknown. It would be relevant if a column that is referenced in the action condition is optional, i.e., permits NULLs.GeneralINFORMATION_SCHEMA only2024-12-23 12:27MIT License
22Non-foreign key indexes that have been named as foreign key indexesFind indexes that are not on a foreign key column but the name of the index contains ixfk or idxfk.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-23 12:12MIT License
23Perhaps updating of modification time is missingFind routines with SQL-standard body that seem to update data in a table that has a column for modification time but the routine does not seem to update the modification time while updating the row and the table does not seem to have an UPDATE trigger that changes the modification time.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-23 11:55MIT License
24UPDATE triggers where WHEN clause has not been specified (the trigger could executed too often)Find UPDATE triggers where WHEN clause is not specified. These triggers could be executed too often because unneeded executions are not prevented.Problem detectionINFORMATION_SCHEMA only2024-12-23 09:54MIT License
25UPDATE triggers where updated columns have not been specified (the trigger could executed too often)Find UPDATE triggers where updated columns are not specified. These triggers could be executed too often because unneeded executions are not prevented.Problem detectionINFORMATION_SCHEMA only2024-12-23 09:53MIT License
26Perhaps is not snake_case - id, code, key, or nr is not preceded by an underscoreFind names that perhaps do not use the snake_case naming style because the name ends with the phrase "id", "uuid", "code", "kood", "key", or "nr" that is not preceded by an underscore. Prefer snake_case over PascalCase and camelCase in names.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-23 09:26MIT License
27A routine is invoked only onceFind user-defined routines that are invoked by exactly one user-defined routine.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-22 14:53MIT License
28Duplicate commentsFind comments that have been registered with a COMMENT statement and that are associated with more than one object. It would probably mean that a comment is incorrect or missing.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:31MIT License
29Gratuitous context in the names of schema objectsFind schema objects that name starts with the schema name and then has at least one more symbol. "Shorter names are generally better than longer ones, so long as they are clear. Add no more context to a name than is necessary" (Robert C. Martin, Clean Code) Shema is a namespace. There cannot be in the same schema two schema objects that belong to the same name class and have the same name.Problem detectionsystem catalog base tables only2024-12-21 17:30MIT License
30Names of database objects that are fully uppercaseFull 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 detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:27MIT License
31Names of database objects with four or more consecutive identical symbolsFind names of database objects with four or more consecutive identical symbolsProblem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:27MIT License
32Too short names of database objects"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) The names should be meaningful and searchable. Find the names (identifiers) of user-defined database objects that are shorter than three characters.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:27MIT License
33The longest names of database objectsFind the TOP 3 longest (identifiers) names of user-defined objects.GeneralINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:26MIT License
34The number and percentage of different names of database objectsNames should be expressive. Find the number of different names used in a database as well as the number of named database objects, and the percentage of different names from all the names. Names should be expressive. Different objects should have different names. The smaller the percentage the less descriptive are the names in the database. Find the number of different names (identifiers) of user-defined database objects and compare it with the total number of database objects. The values could be used to compare different databases.Sofware measureINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:26MIT License
35Median and average of the length of names of database objects"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 median length and average (arithmetic mean) length of the names (identifiers) of user-defined database objects. The values could be used to compare different databases.Sofware measureINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:25MIT License
36The number of names of database objects by the number of subcomponents in the names"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 number of names (identifiers) of user-defined database objects by the number of subcomponents in the names. The values could be used to compare different databases.Sofware measureINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:25MIT License
37Frequent 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 names (identifiers) of user-defined database objects that occur at least twice as frequently as a name occurs in average in case of the particular type of database objects. Also make sure that there is no duplication in play.Sofware measureINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:24MIT License
38The 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.GeneralINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:24MIT License
39Names of database objects that are used to manage the state of main objects in the database"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) The naming must be consistent. One should avoid mixing synonyms like "seisund", "staatus", and "olek" in Estonian or "state" and "status" in English and stick with one term.GeneralINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:23MIT License
40Names of database objects that start with an underscoreImprove the readability of names. Find the names (identifiers) of user-defined database objects that start with an underscore. This is not necessarily a mistake. For instance, parameter names could start with an underscore. On the other hand, it could be that the prefix is missing in the name.GeneralINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:23MIT License