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...
681Stating the obvious (2)Find the names of database objects where the name of the database object contains a part of the name of the object type. For instance, the query finds base tables, were the name contains fragments _base, base_, _table, or table_.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 16:32MIT License
682Subqueries of derived tables with LIMIT/FETCH/DISTINCT ON without ORDER BYFind subqueries of derived tables (views, materialized views) with the LIMIT/FETCH clause or with DISTINCT ON construct but without the ORDER BY clause. These constructs require sorting to produce a meaningful result.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-03 16:56MIT License
683Surrogate key columnsFind surrogate keys. Surrogate key is a key that consist of one column, which has an integer type. The key has been declared by using PRIMARY KEY or UNIQUE constraint. The column is associated with a sequence generator (either external or internal, i.e., created by the system automatically because the column has been declared as an identity column). The column does not participate in any foreign key.GeneralINFORMATION_SCHEMA+system catalog base tables2021-03-07 20:59MIT License
684Surrogate key columns that do not follow the naming styleFind surrogate key columns that name does not end with "id_" or start with "id_".Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-16 12:19MIT License
685Table functions with OFFSETFind table functions that use OFFSET. OFFSET method is a common way for implementing pagination.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-09 12:13MIT License
686Table has both state and status columnsFind tables that contain both a state and a status column.GeneralINFORMATION_SCHEMA+system catalog base tables2023-01-14 15:26MIT License
687Table has multiple columns for free-form descriptionsFind tables that contain multiple columns for free-form textual descriptions. Make sure that the names of columns are understandable and sufficiently different. Make sure that there are no duplicate columns.GeneralINFORMATION_SCHEMA+system catalog base tables2023-01-14 15:36MIT License
688Table, routine, and usage privileges that have been granted to a superuserFind table, routine, and usage privileges that have been granted to a superuser. Superuser can do anything in the database and thus does not need the privileges. The result is a sign that perhaps the executed GRANT statements were incorrect (wrong username) or the grantee later got superuser status (that it shouldn't have).Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-02-25 17:30MIT License
689Tables without columnsDo not have in a database elements that are not useful. PostgreSQL permits tables with no columns. Such tables can be used to implement Boolean variables (tables TABLE_DEE and TABLE_DUM). On the other hand, such tables might be a result of database evolution, where developers have not noticed that they have dropped all the columns of a table or have not noticed that they have created such a table in the first place.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-02-25 17:29MIT License
690Tables with the same name in different schemasFind tables with the same name in different schemas. Make sure that this is not a duplication.GeneralINFORMATION_SCHEMA+system catalog base tables2021-11-10 15:40MIT License
691Temporal function in a simple check constraint is inconsistent with the column typeFind base table columns with a check constraint that refers to a temporal function (current_timestamp, localtimestamp, current_date, or now) that return type is inconsistent with the data type of the column.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-08 21:43MIT License
692Textual columns that have a secondary index but the operator class for the column does not support pattern matchingFind indexed textual columns where the indexing does not consider the possibility of pattern-based search. Such columns do not have an index where the used operator class makes the index suitable for use by queries involving pattern matching expressions.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-07 11:52MIT License
693TG_ARGV is missingWrite correct code. If you pass arguments to a trigger function, then the function should use the arguments. TG_ARGV[]: "Data type array of text; the arguments from the CREATE TRIGGER statement. The index counts from 0. Invalid indexes (less than 0 or greater than or equal to tg_nargs) result in a null value." (PostgreSQL documentation)Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-02-25 17:30MIT License
694The expression of a simple check constraint that is associated directly with a column needs type conversionFind check constraints that involve one column and are associated directly with a table where the Boolean expression invokes an operation that does not match with the data type of the column.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-02-25 17:29MIT License
695The generator of surrogate key values can output the same value more than onceFind surrogate keys where the generator can output the same value more than once. Key values must be unique, i.e., at some point the generator will prevent adding new rows to the table.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-03-08 00:40MIT License
696The generic names (columns) (aggregate view)Find the too generic column names and the number of their occurrences.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-01-15 10:34MIT License
697The generic names (columns) (aggregate view)(2)Find the number of too generic base table and view column names. Do not differentiate between base table and view columns to determine what name is generic.Sofware measureINFORMATION_SCHEMA+system catalog base tables2023-01-18 16:42MIT License
698The 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
699The longest 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 TOP 3 longest (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.Sofware measureINFORMATION_SCHEMA+system catalog base tables2024-12-21 16:37MIT License
700The name of the routine does not match with the action of the routineFind user-defined non-trigger SQL and PL/pgSQL routines where the beginning of the name of the routine indicates a certain action inside the routine (INSERT, UPDATE, or DELETE) but there is no such statement in the routine body.Problem detectionINFORMATION_SCHEMA+system catalog base tables2022-11-19 14:37MIT License