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...
141Base 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
142Perhaps character class [[:alnum:]] could be usedPerhaps regular expressions that refer to character classes alnum and digit could be simplified.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-11-02 09:32MIT License
143All derived tables that use joining tablesFind all derived tables that join two or more tables.GeneralINFORMATION_SCHEMA+system catalog base tables2024-10-05 18:34MIT License
144IS NOT DISTINCT FROM in derived tablesAvoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-09-28 13:08MIT License
145IS NOT DISTINCT FROM in routinesAvoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-09-17 13:14MIT License
146Unused indexes (2)Find indexes that are not used by the DBMS. Remember that indexes are not a "free lunch" and they slow down the processes of updating data.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-08-07 16:23MIT License
147Used indexesFind indexes that are used by the DBMS.GeneralINFORMATION_SCHEMA+system catalog base tables2024-08-07 16:23MIT License
148Perhaps textual code columns lack a CHECK constraintFind non-foreign key textual columns that name refers to the fact that they contain some kind of code but the column does not have any check constraint or the only constraint restricts empty strings or whitespace characters.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-07-01 15:43MIT License
149Each table is both referencing and referenced table (perhaps there is a cycle in relationships)Find as to whether the relationships between tables form a complete bidirected graph. Tables are vertices in the graph. There is a directed edge between two vertices if one of the tables refers to another through foreign key relationship on mandatory columns.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-07-01 14:23MIT License
150Check as to wheteher the names of tables are in the plural or in the singular form (Estonian version)Check as to wheteher the names of tables are in the plural or in the singular form. Make sure that you are consistent in naming.GeneralINFORMATION_SCHEMA+system catalog base tables2024-05-31 08:43MIT License
151CHECK constraints that perhaps do not consider 'infinity' and '-infinity' special valuesFind check constraints of base tables that cover exactly one column where the default value of the column is special value 'infinity' or '-infinity'. Find only such constraints that probably check a range of permitted values but do not consider that one of the values might be 'infinity' or '-infinity'. Such special values belong to the types DATE, TIMESTAMP, NUMERIC, REAL, and DOUBLE PRECISION.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-05-08 18:58MIT License
152Definition of a non-minimal superkey instead of a candidate key (based on check constraints)Candidate key is a minimal superkey, meaning that it is not possible to remove columns from the candidate key without losing its uniqueness property. One should define primary key's and unique constraints based on candidate keys. Find primary key and unique constraints where a proper subset of columns has a check constraint that permits only one value in the column. The candidate key should involve only columns without such constraint.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-04-30 20:25MIT License
153Only one value permitted in a non-inherited base table or a foreign table column (based on check constraints)Find columns of base tables or foreign tables in case of which a check constraint on the column permits only one value in the column. Exclude columns that are inherited from a supertable because the constraint may be correct if it is applied to a column of a subtable that is inherited from the supertable.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-04-30 20:16MIT License
154Only one value permitted in a base table or a foreign table column (based on check constraints)Find columns of base tables or foreign tables in case of which a check constraint on the column permits only one value in the column. The constraint may be correct if it is applied to a column of a subtable that is inherited from the supertable or is used to enfore the rule that the table can have at most one row.GeneralINFORMATION_SCHEMA+system catalog base tables2024-04-30 20:14MIT License
155YELLING IN COMMENTS!Find comments of derived tables and routines that consist of only uppercase letters. Do not use only uppercase (capital) letters in order to write comments. It means yelling and also makes text less readable.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-04-25 15:13MIT License
156The SQL-language routines with the body that is string literalFind 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 detectionINFORMATION_SCHEMA+system catalog base tables2024-01-24 18:20MIT License
157Unbalanced bracketsWrite expressions correctly. Find code fragments that have unbalanced brackets, i.e., the number of opening brackets is not the same as the number of closing brackets.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-01-24 16:02MIT License
158Input parameters with the same name have different typesFind named input parameters of routines that have the same name but different type. It could be a mistake or deliberate due to overloading of routines.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-01-24 15:01MIT License
159Multiple deletes from the same table in a routineCode should be as compact as possible and system should make as little work as necessary in order to solve a task. Thus, instead of deleting different rows of the same table with different DELETE statements one should try to do it with one statement. The query excludes routines where IF statement is used.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-01-24 14:15MIT License
160Multiple updates of the same table in a routineCode should be as compact as possible and system should make as little work as necessary in order to solve a task. Thus, instead of updating different fields of the same table with different UPDATE statements one should try to do it with one statement.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-01-24 13:59MIT License