Services · four engagements · every one priced on the tag

Hourly billing pays for the slow fix. We price the quiet one.

A repair bench on Music Row quotes the fret dress before the strings come off. We work the same way. Each engagement below has a start, an end and a number written down before we read a single row of your pg_stat_statements — so the only thing that stretches is the silence on your latency graph.

Invoiced net-15 after delivery · ACH, check, Visa, Mastercard or Amex

Fig. 3 — struck once, then listened to A struck brass tuning fork on a walnut bench, a laptop showing a query plan glowing behind it under a brass lamp
01 / The spec sheetFour engagements, side by side

Read it like a setlist

Fee, time on the bench, the access we ask for, and what’s in your hands when we’re done. If two rows both sound like your problem, start with the cheaper one — it usually tells us whether you need the other.

Comparison of Thackeray & Sons engagements by fee, duration, access and deliverables
Engagement Fee Bench time Access we ask for You leave with
The TuningFor a database that sounded fine in spring and drags now. $3,850fixed 10 business days A read-only role on a replica A ranked report, paste-ready SQL for every finding, before-and-after plans, a 40-minute walkthrough
The RewriteFor teams who know what’s slow and can’t spare the week to fix it. $8,700fixed 3 weeks Read-only replica, a production-sized clone, pull requests on your repo Twelve rewritten queries, new indexes built concurrently, merged PRs with timed plans
The MoveFor leaving a self-managed box for RDS, Aurora, Cloud SQL, Azure or Neon. From $14,600quoted after survey 4–6 weeks A replication user on the source; admin on the new target A runbook, two full rehearsals, a cutover in your window, a rollback that has actually run
Second ListenFor keeping it quiet after any of the three above. $1,275per quarter One morning each quarter The same read-only role from your audit A one-page delta against your baseline and SQL for up to three fixes

Prices hold for the scope written on the kickoff sheet. Anything we find beyond it gets its own priced line, and you decide whether it happens.

Ask which row is yours
02 / Diagnosis by earThings CTOs have actually said on the first call

Match the hum to the fix

You don’t need to know the name of what’s wrong. Tell us what it sounds like from your side of the dashboard — most slow databases describe themselves in one of these sentences.

  • The orders page is fine at ten in the morning and crawls after six.
    The Tuning · $3,850

    Often a sequential scan that only hurts once the evening working set stops fitting in memory.

  • We already know the five queries. Nobody has a free week to touch them.
    The Rewrite · $8,700

    You’ve done the listening. We bring the hands, the clone and the timed proof.

  • Postgres 11 on an EC2 box, and the person who built it left in 2023.
    The Move · from $14,600

    Usually paired with a major-version upgrade, rehearsed on the same clone.

  • We fixed this last year. It’s creeping back.
    Second Listen · $1,275/qtr

    New features bring new queries. A quarterly re-read catches them before the pager does.

  • The disk keeps growing and the row count doesn’t.
    Bloat clinic · $1,680

    Dead tuples piling up behind an autovacuum tuned for a much smaller table.

  • It’s sort of down. Right now.
    Call (917) 414-1843

    Same-week triage is $690 for two hours on the line. Ring during bench hours and say it’s smoking.

03 / Open the caseWhat’s inside each engagement
Engagement 01 · Performance audit

The Tuning

$3,850fixed · 10 business days

What we listen for

We start where the noise is loudest: pg_stat_statements sorted by total_exec_time, the MySQL slow log, wait events piling up at the same minute every evening, a buffer cache hit ratio that has drifted three points since March.

Then we read plans line by line, the way you’d run a thumb down a fretboard feeling for the high spot — a nested loop over ninety thousand rows, a sort spilling to disk because work_mem is still the default, an index that hasn’t been scanned once since it was created.

On the invoice
  • Findings ranked by time saved per hour of real traffic
  • Paste-ready SQL for every fix
  • EXPLAIN (ANALYZE, BUFFERS) before and after
  • Notes on shared_buffers, work_mem and autovacuum thresholds
  • A recorded 40-minute walkthrough with your engineers

Not on it: applying the changes. Your team can, line by line — or we can, as The Rewrite.

Book The Tuning
Engagement 02 · Query & index rewrite

The Rewrite

$8,700fixed · 3 weeks

What we listen for

Three weeks with our hands on the strings. We restore a production-sized clone, time every target query cold and warm, and rewrite the twelve that cost you most — a correlated subquery turned into a lateral join, an OR split into a UNION ALL the planner can actually use, an N+1 folded back into one round trip.

Every change arrives as a pull request with its timed plan pasted in the description, so your reviewer hears the difference before they approve it.

On the invoice
  • Up to twelve query rewrites, each proven on the clone
  • Indexes built with CREATE INDEX CONCURRENTLY or ALGORITHM=INPLACE
  • ORM call sites untangled — ActiveRecord, Django, Prisma, SQLAlchemy
  • A COMMENT ON naming the query each new index serves

Not on it: feature work, or schema redesign beyond what those twelve queries need.

Start The Rewrite
Engagement 03 · Zero-downtime migration

The Move

From $14,6004–6 weeks · fixed quote after week one

Two laptops showing flat replication-lag graphs with a brass metronome between them on a navy desk at night
Fig. 4 — the second rehearsal, lag sitting at zero for an hour before anyone flips anything.
What we listen for

Migrations go wrong in the quiet parts — a collation that sorts “é” one place on the old box and another on the new one, a sequence that didn’t follow its table, a large object nobody remembered was there. We inventory every one before replication starts.

Then we rehearse. Twice, on a clone, with a stopwatch. By cutover night the switch is a connection-string flip your engineers have already done once with their own hands.

On the invoice
  • Compatibility inventory: extensions, collations, sequences, triggers
  • Target sizing from your real p95, not a guess
  • Logical replication or binlog replica, stood up and watched
  • Two timed rehearsals and a written runbook
  • Cutover in your window, plus five days of settling

Not on it: application changes beyond connection configuration and pooler settings.

Plan The Move
Engagement 04 · Quarterly check-up

Second Listen

$1,275per quarter · after any engagement

What we listen for

Databases drift the way guitars drift between seasons. Tables triple, a new feature ships its own query, someone adds a column with a default and a lock nobody noticed. Once a quarter we re-run the original audit queries against the baseline we left you and listen for anything that’s started to hum again.

On the invoice
  • Audit queries re-run against your baseline
  • A one-page delta: what got louder, what got quieter
  • SQL for up to three fixes
  • A 30-minute call, cancellable any quarter
Add Second Listen
04 / The Move, on the calendarWhat your team hears from us, and when

Six weeks, one quiet flip

Most of a migration is listening to two databases agree with each other. The flip itself takes minutes; the weeks before it are what make those minutes boring.

  1. Week 1

    Survey

    Extensions, collations, sequences, large objects, triggers. We check wal_level = logical or binlog_format = ROW and send the fixed quote.

  2. Week 2

    Topology

    Target instance sized from your real p95, parameter group drafted, replication running on a clone so lag can be watched for days, not minutes.

  3. Week 3

    First rehearsal

    A full cutover on the clone, timed to the second. Every surprise gets written into the runbook while it’s still warm.

  4. Week 4

    Second rehearsal

    Your engineer drives, reading our runbook; we watch. Then the rollback runs for real, so nobody has to imagine it.

  5. Week 5

    The flip

    Your window, your call. Writes pause, sequences sync, the connection string changes, smoke checks pass. We stay on the line throughout.

  6. Week 6

    Settling

    Five business days watching the new primary. The old one stays warm as a fallback until you sign off on switching it off.

Single-database moves with no version jump often compress into four weeks; the rehearsals never get skipped.

Pencil in a survey week
05 / Odd jobsBolt-ons, or booked on their own

Odd jobs on the pegboard

Smaller work that hangs beside the big engagements. Each has its own price tag and can be added to any engagement or booked by itself.

A navy pegboard hung with a fret file, tuning fork, patch cable and an index card sketch of a B-tree, each with a small manila price tag
  • Same-week triage$690

    Two hours on a call with your engineer and a read-only session, the week you ring. We find the loudest problem and hand you the first fix.

    Ring the bench — (917) 414-1843
  • Reading EXPLAIN, a half-day$1,150

    A workshop for up to eight engineers, remote or around our whiteboard on Cedarcrest. Your own slow queries are the sheet music.

    Hold a date
  • Autovacuum & bloat clinic$1,680

    Dead-tuple counts per table, per-table autovacuum settings, and a plan for reclaiming space with pg_repack instead of a locking VACUUM FULL.

    Book the clinic
  • Extra cutover rehearsal$1,940

    A third timed run on the clone, for teams who want the flip to feel like muscle memory before cutover night.

    Add a rehearsal
  • Pooler & read-replica setup$2,350

    PgBouncer or ProxySQL configured for your connection pattern, plus a read replica with your heaviest reporting queries routed to it.

    Ask about pooling
  • Major-version upgrade plan$4,275

    Postgres 12 to 17, or MySQL 5.7 to 8.0: deprecated features flagged, extensions checked, query plans compared on both versions before you commit.

    Plan the upgrade
Said plainly

Not on our bench

A good repair shop sends you down the street for the work it doesn’t do. These are ours.

  • MongoDB, DynamoDB & friendsPostgreSQL and MySQL only. We’d rather be very good at two instruments.
  • SQL Server & OracleDifferent tools, different ears. We’ll happily point you toward someone who lives there.
  • Round-the-clock pager dutyWe keep bench hours. Cutover nights are the one exception, scheduled with you in advance.
  • Open-ended monthly DBA hoursEvery engagement ends. Second Listen is the closest we come to a standing arrangement.
06 / Ready when your graphs areReplies within one working day

Bring us the noise. We’ll name the price before we touch it.

Where most teams start

The Tuning — $3,850, fixed. Ten business days from read-only credentials to a ranked report with the SQL already written, invoiced net-15 after it lands.

Describe the slow part in your own words — the page, the hour, the engine and where it lives. We’ll read it at the bench and write back with a time for a listening call.

Or reach the bench directly (917) 414-1843 info@thackeraysons.com Mon–Thu 8am–6pm · Fri to 1pm