| 441 |
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 |
2025-11-07 10:11 |
MIT License |
View |
| 442 |
Input parameters with the same name have different types |
Find 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 detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 443 |
Installed extensions |
Try to use as much the possibilities of the DBMS as possible. On the other hand, do not install extensions that are not needed in order not to overcomplicate the database. |
General |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 444 |
Insufficient number of user-defined base tables |
There must be at least n (seven in this case) user-defined base tables in the database. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 445 |
Insufficient number of user-defined domains |
There must be at least n (one in this case) user-defined domains in the database each of that must be used in case of at least two columns of base tables. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 446 |
Insufficient number of user-defined foreign tables |
There must be at least n (two in this case) user-defined foreign tables in the database. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 447 |
Insufficient number of user-defined non-trigger routines |
There must be at least n (four in this case) user-defined non-trigger routines in the database. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 448 |
Insufficient number of user-defined triggers+rules |
There must be user-defined triggers and/or rules for at least n (three in this case) tasks in the database. It also means that one should create at least three triggers and/or rules in the database. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 449 |
Insufficient number of user-defined triggers+rules (based on number of tasks) |
There must be user-defined triggers and/or rules for at least n (three in this case) tasks in the database. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 450 |
Insufficient number of user-defined views |
There must be at least n (four in this case) user-defined views in the database. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 451 |
Insufficient routine privileges |
You must give rights to use routines to the users/roles that correspond to applications. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 452 |
Insufficient view privileges |
You must give privileges to use views to the users/roles that correspond to applications |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 453 |
Invalid character class |
PostgreSQL regular expressions do not have character classes word and letter. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 454 |
Invalid use of the case insensitive search modifier in regular expressions |
Find regular expression patterns that use (?i) modifier in any other place than at the beginning of the pattern or (?-i) in any place of the pattern. Such use of the modifiers is not supported by PostgreSQL. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 455 |
Invocation of a system-defined routine without providing any arguments |
Find user-defined routines that contain an invocation of a system-defined function without providing any argument. The query considers all aggregate functions as well as some popular scalar functions. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 456 |
Invocation of PL/pgSQL functions from the subqueries of derived tables |
Find derived tables that subqueries invoke a PL/pgSQL function. Avoid context switch that is caused by the invocation of PL/pgSQL functions from the subqueries of derived tables. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 457 |
IS DISTINCT FROM should be used instead of <> in WHEN clauses |
Use 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. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 458 |
Is does not return a boolean |
This query identifies user-defined SQL and PL/pgSQL routines (excluding triggers) that exhibit a semantic inconsistency between their name and return type. It flags non-trigger routines whose names begin with a predicate prefix (e.g., is_, has_, can_, on_) but whose defined return type is not BOOLEAN. Such a mismatch violates the principle of self-documenting code, as the name creates a strong expectation of a TRUE/FALSE return value, which the routine's signature then contradicts. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-13 14:03 |
MIT License |
View |
| 459 |
IS NOT DISTINCT FROM in derived tables |
Avoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 460 |
IS NOT DISTINCT FROM in routines |
Avoid using IS NOT DISTINCT FROM because it makes the query planner to avoid using an index. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |