# Databases

> Selected Engineer ApS work demonstrating Databases — the achievements that prove it.

- [Designed, deployed, and maintained 10 PostgreSQL and MS SQL servers on Ubuntu Linux VPS, ensuring optimal server performance and reliability.](https://platform.engineer.company/portfolio/designed-deployed-and-maintained-10-postgresql-and-ms-13/)
- [Enhanced data security by implementing 1,000 RBAC rules for developers, application instances, PostgreSQL, MS SQL, and other Linux servers, preventing unauthorized access; documented with Ansible automation.](https://platform.engineer.company/portfolio/enhanced-data-security-by-implementing-1-000-rbac-14/)
- [Automated 100 critical data backups using Barman, Google Cloud, Bash, and Python, ensuring data integrity across databases.](https://platform.engineer.company/portfolio/automated-100-critical-data-backups-using-barman-google-18/)
- [Automated data processing tasks using Shell scripting, PL/pgSQL, Python, and Transact‑SQL, increasing productivity and efficiency.](https://platform.engineer.company/portfolio/automated-data-processing-tasks-using-shell-scripting-pl-45/)
- [Configured database backup retention as infrastructure‑as‑code, then audited the recovery position and documented the restore procedure — naming the remaining gaps rather than leaving them to be found during an incident.](https://platform.engineer.company/portfolio/configured-database-backup-retention-as-infrastructure-as-code-72/)
- [Hardened the application with nonce‑based CSP, HSTS, SameSite cookies, least‑privilege database roles and server‑side entitlement re‑checks.](https://platform.engineer.company/portfolio/hardened-the-application-with-nonce-based-csp-hsts-77/)
- [Built the payments and entitlements layer — Stripe alongside Apple and Google in‑app purchase — gating the directory, search and export through an 11‑table access model checked on the server.](https://platform.engineer.company/portfolio/built-the-payments-and-entitlements-layer-96/)
- [Moved slow work off the request path onto a River job queue — 15 worker modules, 8 scheduled tasks and 20 pg_cron jobs — so a request returns while the work behind it carries on.](https://platform.engineer.company/portfolio/moved-slow-work-onto-a-river-job-queue-97/)
- [Kept the schema honest across 1,022 migrations with a CI gate that builds the database both ways — a fresh install, and an install plus every migration — and fails when the two disagree.](https://platform.engineer.company/portfolio/kept-the-schema-honest-across-1022-migrations-99/)
- [Held the generator to 981 test cases at a 92% branch‑coverage floor with warnings treated as failures, and asserted idempotence by running the whole build pipeline twice from an empty file and requiring the second pass to change nothing.](https://platform.engineer.company/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Wrote tests for the checkers themselves after establishing that a checker fed only clean input will one day report clean because it read nothing — planting a misspelling to confirm the spell‑check finds it, and taking an id range from the database rather than from a number in the test.](https://platform.engineer.company/portfolio/wrote-tests-for-the-checkers-themselves-149/)

<https://platform.engineer.company/categories/databases/>
