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...
641Perhaps is not snake_case - id, code, key, or nr is not followed by an underscoreFind names that perhaps do not use the snake_case naming style because the name starts with the phrase "id", "uuid", "code" , "kood", "key", or "nr" that is not followed by an underscore. Prefer snake_case over PascalCase and camelCase in names.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 16:23MIT License
642Perhaps 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
643Perhaps is not snake_case - long subsections without underscoresFind names that perhaps do not use the snake_case naming style because the name contains a long subsection (at least 20 characters) without underscores. Prefer snake_case over PascalCase and camelCase in names.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 17:22MIT License
644Perhaps last update time trigger is missingFind base tables that have a column for last update time but the table does not have associated before update row level trigger for changing the last update time.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-12-30 15:22MIT License
645Perhaps primary key columns could be renamedFind the names of simple primary key columns that name does not follow the pattern _id or _code but it is quite similar.Problem detectionsystem catalog base tables only2022-12-01 14:34MIT License
646Perhaps searching based on a name instead of a codeFind derived tables with a search condition that is possible based on a name instead of a code.Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-18 11:52MIT License
647Perhaps spaces are unnecessarily restrictedFind base table columns that name refers to the possibility that the column is used to record names or textual descriptions but the column seems to have a simple check constraint that restricts spaces in these.Problem detectionINFORMATION_SCHEMA+system catalog base tables2023-11-18 13:30MIT License
648Perhaps 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
649Perhaps the column type should be UUIDFind base table columns that do not have uuid type but the name of the column refers to the possibility that the values in the column are uuid's.Problem detectionINFORMATION_SCHEMA only2022-06-09 15:07MIT License
650Perhaps the name referes to multiple conceptsFind database objects that name contains words "and" (English) or "ja" (Estonian).Problem detectionINFORMATION_SCHEMA+system catalog base tables2024-12-21 16:36MIT License
651Perhaps the precision in case of a base table column with NUMERIC/DECIMAL type is too smallMake sure that in case of using the type DECIMAL/NUMERIC as the type of a base table column the precision (the permitted number of digits in the number) is not too small. For instance, the biggest value in the type NUMERIC(1,1) is 0.9.Problem detectionINFORMATION_SCHEMA only2021-02-25 17:29MIT License
652Perhaps the type of a base table column/domain should be BOOLEAN (based on CHECK constraints)Find base table columns and domains that have a CHECK constraint that limits possible values in a manner that seems to indicate that the permitted values represent truth values, i.e., permitted values are 0/1 or true/false.Problem detectionINFORMATION_SCHEMA+system catalog base tables2021-02-25 17:29MIT License
653Perhaps the type of a base table column/domain should be BOOLEAN (based on types and default values)Find base table columns and domains that have a textual type and the default value that represents a truth-value. For instance, the type of a column could be VARCHAR and the column has the default value 'TRUE'.Problem detectionINFORMATION_SCHEMA only2021-02-25 17:30MIT License
654Perhaps the type of a base table column/domain should be INTEGER/SMALLINT/BIGINT (based on sequence generators)Specify for each column/domain a right data type that takes into account expected values in the column/domain. Find base table columns and domains that refer to the nextval function by using the default value mechanism but do not have the type INTEGER, SMALLINT, or BIGINT. This check is performed in case of identity columns: ERROR: identity column type must be smallint, integer, or bigint.Problem detectionINFORMATION_SCHEMA only2021-03-04 11:24MIT License
655Perhaps the type of a base table column/domain should be numeric (based on default values)Specify for each column/domain a right data type that takes into account expected values in the column/domain. Find base table columns and domains that have a textual type but the default value that represents a number (for instance, '100', '2', or '0.22'). Exclude columns about formats.Problem detectionINFORMATION_SCHEMA only2023-12-30 10:59MIT License
656Perhaps the type of a base table column/domain should be SMALLINT (based on classifiers)Find columns that name points to the possibility that values in this are classifier codes. The column has a numeric type but it is not SMALLINT. Usually each classifier type has so few values that type SMALLINT would be appropriate.Problem detectionINFORMATION_SCHEMA only2024-11-28 13:23MIT License
657Perhaps the type of a base table column/domain should be temporal (based on default values)Find base table columns and domains that have a textual type but the default value that represents a temporal value (either a static value or invocation of a function that returns such value). Specify for each column/domain a right data type that takes into account expected values in the column/domain.Problem detectionINFORMATION_SCHEMA only2021-02-25 17:30MIT License
658Perhaps the type of a base table column/domain should be temporal (deadlines)Find base table columns that name refers to the possibility that there are registered deadlines but the column does not have a temporal type.Problem detectionINFORMATION_SCHEMA only2021-03-21 17:00MIT License
659Perhaps the type of a base table column/domain should be VARCHAR (based on column names)Find base table columns that have CHAR type, where character maximum length is bigger than 1 and the name of the column does not refer to the possibility that the column holds some kind of codes or flags or hash values.Problem detectionINFORMATION_SCHEMA only2023-11-12 10:48MIT License
660Perhaps the type of a base table column should be an integer type (based on column names)Find columns of base tables where the name of the column has prefix or suffix "id" or has the name "id" but the column does not have an integer type or uuid type. A convention is to use the phrase "id" in the names of surrogate key columns.Problem detectionINFORMATION_SCHEMA only2023-11-08 13:31MIT License