pglinter
pglinter : PostgreSQL Linting and Analysis Extension
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 5090 | pglinter
|
pglinter
|
1.1.1 |
ADMIN
|
PostgreSQL
|
Rust
|
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-dt-
|
No
|
Yes
|
No
|
Yes
|
no
|
yes
|
| Relationships | |
|---|---|
| See Also | amcheck
supautils
|
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY
|
1.1.1 |
18
17
16
15
14
|
pglinter |
- |
| RPM | PIGSTY
|
1.1.1 |
18
17
16
15
14
|
pglinter_$v |
- |
| DEB | PIGSTY
|
1.1.1 |
18
17
16
15
14
|
postgresql-$v-pglinter |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
el8.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
el8.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
el9.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
el9.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
el10.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
el10.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
d12.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
d12.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
d13.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
d13.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
u22.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
u22.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
u24.x86_64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
u24.aarch64
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
PIGSTY 1.1.1
|
Source
pig build pkg pglinter; # build rpm/debInstall
Make sure PGDG and PIGSTY repo available:
pig repo add pgsql -u # add both repo and update cacheInstall this extension with pig:
pig install pglinter; # install via package name, for the active PG version
pig install pglinter -v 18; # install for PG 18
pig install pglinter -v 17; # install for PG 17
pig install pglinter -v 16; # install for PG 16
pig install pglinter -v 15; # install for PG 15
pig install pglinter -v 14; # install for PG 14Create this extension with:
CREATE EXTENSION pglinter;Usage
pglinter analyzes your database for potential issues, performance problems, and best practice violations. It outputs results in SARIF 2.1.0 format.
Run Checks
SELECT pglinter.check(); -- Run all enabled rules
SELECT pglinter.check_rule('B001'); -- Run a specific rule
SELECT pglinter.check('/path/to/results.sarif'); -- Save SARIF report to file
SELECT pglinter.check_rule('B001', '/path/to/b001.sarif');Rule Management
SELECT pglinter.show_rules(); -- Show all rules and their status
SELECT pglinter.explain_rule('B001'); -- Get rule details and suggested fixes
SELECT pglinter.enable_rule('B001'); -- Enable a specific rule
SELECT pglinter.disable_rule('B001'); -- Disable a specific rule
SELECT pglinter.is_rule_enabled('B001'); -- Check if a rule is enabled
SELECT pglinter.enable_all_rules();
SELECT pglinter.disable_all_rules();Rule Configuration
SELECT pglinter.update_rule_levels('B001', 30, 70); -- Set warning/error thresholds
SELECT pglinter.get_rule_levels('B001'); -- Get current thresholds
SELECT pglinter.export_rules_to_yaml(); -- Export rules to YAML
SELECT pglinter.import_rules_from_yaml('yaml...'); -- Import rules from YAMLAvailable Rules
Base (B-series): B001 tables without PK, B002 redundant indexes, B003 missing FK indexes, B004 unused indexes, B005 uppercase names, B006 unused tables, B007 cross-schema FKs, B008 FK type mismatches, B009 shared trigger functions, B010 reserved keywords, B011 multiple owners per schema.
Cluster (C-series): C002 insecure pg_hba.conf entries, C003 MD5 password encryption.
Schema (S-series): S001 no default role grants, S002 env prefixes/suffixes, S003 unsecured public schema, S004 system role ownership, S005 multiple owners per schema.