Skip to content

Rule Sources

Many rules are inspired by or directly ported from other tools. This page lists the sources of each rule.

Exclusive rules

Rules from other sources

Eugene

Eugene Rule Name Rule Name
E11 addSerialColumn
E3 preferJsonb
E4 runningStatementWhileHoldingAccessExclusive
E9 lockTimeoutWarning
W12 multipleAlterTable
W13 creatingEnum

Squawk

Squawk Rule Name Rule Name
adding-field-with-default addingFieldWithDefault
adding-foreign-key-constraint addingForeignKeyConstraint
adding-not-null-field addingNotNullField
adding-required-field addingRequiredField
adding-serial-primary-key-field addingPrimaryKeyConstraint
ban-alter-domain-with-add-constraint banAlterDomainWithAddConstraint
ban-alter-identity banAlterIdentity
ban-char-field banCharField
ban-concurrent-index-creation-in-transaction banConcurrentIndexCreationInTransaction
ban-create-domain-with-constraint banCreateDomainWithConstraint
ban-drop-column banDropColumn
ban-drop-constraint banDropConstraint
ban-drop-database banDropDatabase
ban-drop-default banDropDefault
ban-drop-domain banDropDomain
ban-drop-extension banDropExtension
ban-drop-function banDropFunction
ban-drop-generated-expression banDropGeneratedExpression
ban-drop-not-null banDropNotNull
ban-drop-sequence banDropSequence
ban-drop-table banDropTable
ban-drop-type banDropType
ban-drop-view banDropView
ban-duplicate-column-assignments banDuplicateColumnAssignments
ban-set-schema banSetSchema
ban-truncate-cascade banTruncateCascade
ban-uncommitted-transaction banUncommittedTransaction
changing-column-type changingColumnType
constraint-missing-not-valid constraintMissingNotValid
disallow-unique-constraint disallowUniqueConstraint
identifier-too-long identifierTooLong
prefer-big-int preferBigInt
prefer-identity preferIdentity
prefer-robust-stmts preferRobustStmts
prefer-text-field preferTextField
prefer-timestamptz preferTimestamptz
renaming-column renamingColumn
renaming-object renamingObject
renaming-table renamingTable
require-concurrent-index-creation requireConcurrentIndexCreation
require-concurrent-index-deletion requireConcurrentIndexDeletion
require-enum-value-ordering requireEnumValueOrdering
require-table-schema requireTableSchema
transaction-nesting transactionNesting

pgfence

pgfence Rule Name Rule Name
add-constraint-exclude avoidAddingExclusionConstraint
alter-enum-add-value avoidAlterEnumAddValue
attach-partition avoidAttachingPartition
create-trigger avoidCreateTrigger
delete-without-where banDeleteWithoutWhere
detach-partition requireConcurrentDetachPartition
drop-schema banDropSchema
drop-trigger banDropTrigger
enable-disable-trigger avoidEnableDisableTrigger
missing-idle-timeout requireIdleInTransactionTimeout
missing-statement-timeout requireStatementTimeout
not-valid-validate-same-tx requireSeparateConstraintValidation
refresh-matview-blocking requireConcurrentRefreshMatview
reindex-non-concurrent requireConcurrentReindex
truncate banTruncate
update-in-migration banUpdateWithoutWhere
vacuum-full banVacuumFull
wide-lock-window avoidWideLockWindow