| 241 |
Base table column of personal names has questionable properties |
Find base table columns that name refers to the possibility that these are used to register personal names. Although there are very long personal names the general approach is to register a shortened version of these. Thus, a large field size is not a good idea because it would cause usability and security problems. There are persons who only have one name component (mononymous persons). Database design must take it into account. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 242 |
Base table column of quantities does not have a numeric type (based on column names) |
Find base table columns that name refers to the possibility that these are used to register quantities of things. Find the columns that do not have a numeric type. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 243 |
Base table column of sums of money does not have a numeric type (based on column names) |
Find base table columns that name refers to the possibility that these are used to register prices/sums of money. Find columns that do not have a numeric type. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 244 |
Base table column of sums of money has too big or small scale |
Find base table columns that name refers to the possibility that these are used to register data about prices/sums of money. Find the columns that have decimal type but have a too big (bigger than six) or a too small scale (zero). The selection of field size must be precise and should take into account the possible data in the column. |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 245 |
Base table column of surrogate key values does not have an integer data type (based on column names) |
Find base table columns that belong to a primary key, unique, or foreign key constraint and that name refers to the possibility that these are used to hold surrogate key values. Find the columns where the data type of the column is not an integer type or uuid. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 246 |
Base table columns for recording geographic coordinates (based on column names) |
Find base table columns that are according to the name meant for recording coordinates. |
General |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 247 |
Base table columns for recording geographic coordinates that do not have a suitable type (based on column names) |
Find base table columns that are according to the name meant for recording geographic coordinate but do not have a suitable type (numeric or point). |
Problem detection |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 248 |
Base table columns for storing username, password, and salt |
Find base table columns that name refers to the possibility that these are used to register usernames, passwords, and salt. Password should not be open text. It should be a hash value that has been hashed by using salt. |
General |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 249 |
Base table columns permitting e-mail addresses without @ sign |
Find non-foreign key base table columns that name refers to the possibility that these are used to register e-mail addresses. Find the columns that do not have any simple CHECK constraint that contains @ sign. A simple check constraint covers a single column. In this case registration of e-mail addresses without @ is most probably not prohibited. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 250 |
Base table columns permitting negative prices/quantity |
Find non-foreign key base table columns that name refers to the possibility that these are used to register prices/quantities. Find the columns that do not have any simple CHECK constraints, i.e., a constraint that covers only this column. In this case registration of negative price/quantity is most probably not prohibited. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 251 |
Base table columns permitting temporal values that may be outside the range of logical values |
Find base tables columns with temporal types (date and timestamp) that do not belong to a foreign key and that do not have any associated simple CHECK constraints, i.e., constraint that involves only one column. For instance, in the column registration_time that does not have any associated CHECK constraints could be values '1200-01-01 00:00' or '5900-12-31 00:00'. Rows with these values most probably represent wrong propositions and the system should restrict registration of such data. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 252 |
Base table columns permitting URLs without a protocol |
Find non-foreign key base table columns that name refers to the possibility that these are used to register URLs. Find the columns that do not have any simple CHECK constraint that references to a protocol. A simple check constraint covers a single column. In this case registration of URLs without a protocol is most probably not prohibited. |
Problem detection |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 253 |
Base table columns where TOASTing is possible |
Find all base table columns in case of which the system can use TOAST technique. |
General |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 254 |
Base table columns where TOAST-ing strategy has been changed |
Find base table columns in case of which the system can use TOAST technique (due to the data type of the column) and where the toasting strategy has been changed so that it is different than the default strategy determined by the type. Make sure that the new strategy is optimal. |
General |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 255 |
Base table columns where TOAST-ing strategy has been changed to plain |
Find base table columns in case of which the system can use TOAST technique (due to the data type of the column) and where the toasting strategy has been changed to plain. It means that potentially, if a value in the column is large enough, it is not possible to save the row. |
Problem detection |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 256 |
Base table columns with a composite type |
Find base table columns with a composite type. Think through as to whether a column with a composite type could be replaced with a separate table. |
General |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 257 |
Base table columns with an array type |
Find base table columns with an array type. Think through as to whether a column with an array type could be replaced with a separate table. |
General |
INFORMATION_SCHEMA+system catalog base tables |
2025-11-07 10:11 |
MIT License |
View |
| 258 |
Base table columns with CHAR(n) or VARCHAR(n) type |
Find base table columns with CHAR(n) or VARCHAR(n) type and make sure that n is not too big or too small. Also make sure that you do not use CHAR(n) in case of columns that have to keep variable length strings. "Values of type character are physically padded with spaces to the specified width n, and are stored and displayed that way" (https://www.postgresql.org/docs/current/datatype-character.html) |
General |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |
| 259 |
Base table columns with CITEXT type |
Find base table columns with CITEXT type and make sure that case insensitivity is really needed in case of this column. |
General |
system catalog base tables only |
2025-11-07 10:11 |
MIT License |
View |
| 260 |
Base table columns with DECIMAL (p, s) or NUMERIC (p, s) type |
Find base table columns with DECIMAL (p, s) or NUMERIC (p, s) type and make sure that precision p and scale s are not too big or too small. |
General |
INFORMATION_SCHEMA only |
2025-11-07 10:11 |
MIT License |
View |