{ "name": "pg_savior", "abstract": "Prevent accidental data loss and risky schema changes", "description": "A PostgreSQL extension that intercepts dangerous statements before they run. Blocks DELETE/UPDATE without a WHERE clause; DELETE/UPDATE whose planner row estimate exceeds a configurable threshold; CREATE INDEX without CONCURRENTLY; ALTER TABLE ADD COLUMN ... DEFAULT and ALTER TABLE ALTER COLUMN TYPE on tables larger than a threshold; TRUNCATE on large tables; DROP TABLE on large tables; and DROP DATABASE. Each guard raises ERROR (aborting the transaction so applications notice) and can be bypassed per-session with pg_savior.bypass = on, or disabled globally with pg_savior.enabled = off.", "version": "0.1.0", "maintainer": [ "viggy28 " ], "license": "mit", "provides": { "pg_savior": { "abstract": "Prevent accidental data loss and risky schema changes", "file": "pg_savior--0.1.0.sql", "docfile": "README.md", "version": "0.1.0" } }, "prereqs": { "runtime": { "requires": { "PostgreSQL": "14.0.0" } } }, "resources": { "bugtracker": { "web": "https://github.com/viggy28/pg_savior/issues" }, "repository": { "url": "git://github.com/viggy28/pg_savior.git", "web": "https://github.com/viggy28/pg_savior", "type": "git" } }, "generated_by": "viggy28", "meta-spec": { "version": "1.0.0", "url": "https://pgxn.org/meta/spec.txt" }, "tags": [ "delete", "update", "truncate", "drop", "ddl", "guards", "safety", "operations", "data loss", "safe" ] }