Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A safe PostgreSQL major upgrade is a rehearsed migration with explicit acceptance gates and a tested way back. First establish that you are changing major versions—not applying a minor update—then inventory the cluster, read every intervening release note, test extensions and application workloads on an isolated target cluster, validate a restored backup, and only then cut over using dump/restore, pg_upgrade, or logical replication.

Minor releases are different: PostgreSQL says they do not change the internal storage format and remain compatible within the same major version. A major-version change requires a migration plan because the old data directory cannot simply be opened by the new server.

1. Confirm the upgrade boundary

Write down the exact source and target versions before choosing tools. Include the major and minor version numbers, operating system, CPU architecture, package repository or image, data directory, tablespaces, replication topology, client-driver versions, and the permitted maintenance window.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Major versus minor updates

PostgreSQL’s versioning policy distinguishes operations by major version. A minor update within one major line keeps the storage format; the project states that "Minor releases never change the internal storage format and are always compatible with earlier and later minor releases of the same major version number." A major upgrade, such as 16 to 17, needs a logical migration with dump/restore, pg_upgrade, or logical replication. See the PostgreSQL Versioning Policy and the official upgrading documentation.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Record the support horizon

The PostgreSQL Global Development Group supports a major version for five years after its initial release. Put the target version’s end-of-life date in the change record so you do not repeat a disruptive migration unnecessarily soon. The date and policy are maintained on the versioning-policy page.

2. Read all relevant release and migration notes

Read the target release notes and the migration guidance for every major version between source and target. A multi-version jump can include changed defaults, removed features, altered SQL behavior, catalog changes, or authentication differences that do not appear in a single-version summary. PostgreSQL explicitly recommends reviewing intervening release notes and testing the application against the target. Start with the PostgreSQL Release Notes and then follow the upgrade sections in the upgrade guide.

Turn each relevant item into a test or a documented exception. For example, a changed authentication default becomes a connection test; a removed function becomes an application-code search; a changed planner behavior becomes a captured query-plan comparison.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Build a complete inventory before touching production

An upgrade can fail because of an object, package, or connection dependency that is not visible in a simple table dump. Export the current definitions and configuration, and store the output with the change plan.

Cluster and database inventory

  • Source and target binaries, operating system, architecture, package source, service unit, data directory, WAL location, and every tablespace path.
  • Databases, schemas, roles, memberships, grants, default privileges, row-level security policies, ownership, and password or certificate authentication settings.
  • Publications, subscriptions, replication slots, physical or cascading replicas, foreign-data wrappers, servers, user mappings, procedural languages, collations, materialized views, partitioning, generated columns, sequences, and scheduled jobs.
  • Server configuration files, custom parameters, connection limits, TLS settings, logging and auditing rules, and connection-pool or service-discovery settings.

Extension and external-module inventory

List every installed extension and its current version. Record the extension control-file location, operating-system package version, shared-library dependencies, and whether a build exists for the target PostgreSQL version and architecture. Include procedural languages and other modules loaded by the server.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Do not treat a successful pg_upgrade --check as proof that extensions are safe. The utility checks core cluster compatibility but cannot verify binary compatibility of external modules, especially C-language modules. Make extension availability and a successful load test a release gate. After the target cluster is running, update deliberately with ALTER EXTENSION ... UPDATE; when no target version is supplied, PostgreSQL uses the default version named in the extension’s control file. See the ALTER EXTENSION reference.

4. Choose the migration method deliberately

Method Best fit Strengths Risks and costs
Dump and restore Portable migrations and clean rebuilds Logical export creates a clear validation boundary and can change operating-system or storage layouts. Usually requires the longest outage; roles, ownership, extensions, large objects, and restore ordering need careful handling. Filesystem-level backups do not migrate data between incompatible major versions.
pg_upgrade Fast migration when the topology and storage are suitable Much faster than a full dump and reload; the new binary’s --check mode exposes many issues before the change. External modules need independent binary checks. Link mode saves time and disk but weakens rollback because the old cluster becomes unusable after the new cluster starts.
Logical replication Minimal downtime and a separately built target cluster Runs old and new major versions during synchronization; after data parity and lag checks, a controlled switchover can reduce downtime to seconds. More moving parts: publications, subscriptions, lag monitoring, sequence state, DDL, extensions, and writes that are not covered automatically must be handled.

For dump/restore, use pg_dump or pg_dumpall from the newer PostgreSQL release where appropriate, and rehearse the exact restore order. For pg_upgrade, install both old and new binaries, run the new version’s pg_upgrade --check, resolve every reported issue, and retain the logs and generated scripts. For logical replication, build the target cluster, create compatible publications and subscriptions, monitor lag and data parity, and document how sequence values and schema changes are synchronized. The method descriptions and limitations are covered in the upgrade guide and pg_upgrade documentation.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Rehearse the exact production topology

Create an isolated target cluster that resembles production: same major-version binaries, extensions, authentication, TLS, connection pool, tablespaces, replication roles, monitoring, and scheduled maintenance. Use a production-like copy of the data, with sensitive values protected according to your policy.

  1. Install the target server and every required extension package before loading data.
  2. Apply the target configuration, authentication rules, certificates, firewall settings, and service account permissions.
  3. Run the chosen migration method exactly as it will be run in production. Capture command output, elapsed time, disk usage, and every warning.
  4. Route a staging application and all supported drivers through the same connection path used at cutover.
  5. Exercise monitoring, alerting, backups, failover procedures, and operator runbooks while the rehearsal cluster is isolated.

Do not replace an end-to-end rehearsal with a quick catalog check. A migration can pass structural validation yet fail when a pool negotiates TLS, a job opens a second connection, or an extension library is loaded.

6. Validate schema, data, and security objects

Structural checks

After the rehearsal migration, compare the source and target for database and schema counts, table and index definitions, constraints, foreign keys, partition boundaries, generated columns, sequences, materialized views, and large objects. Verify ownership, role memberships, grants, default privileges, and row-level security policies. Confirm foreign-data wrappers, procedural languages, collations, publications, subscriptions, and replication slots are present with the intended settings.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Data checks

Compare representative row counts for every critical table and use checksums or application-level reconciliation where practical. Include boundary cases such as empty partitions, recently created sequences, nullable and defaulted columns, JSON and array values, time-zone-sensitive timestamps, and rows protected by security policies. Investigate every discrepancy rather than accepting a percentage threshold without a reason.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Statistics and plans

Record baseline plans for the queries that protect revenue, latency, or data integrity. Verify that statistics are regenerated or refreshed as required on the target, then compare estimated and actual plans under representative data volumes. A structurally correct upgrade can still regress when statistics are stale or planner estimates change.

7. Test extensions as an independent workstream

For each extension, prove four things on the target: the package is available, the control file advertises the required version, the shared library loads, and the application behavior remains correct. Run the extension’s own upgrade scripts where applicable and verify dependent objects afterward.

  • Record the installed version before migration and the intended version after migration.
  • Check package and shared-library paths on every server in the topology, not only the primary.
  • Run representative functions, operators, indexes, casts, and background workers supplied by the extension.
  • Verify extension-owned tables, views, types, and privileges after restore or upgrade.
  • Document a downgrade or rebuild procedure if the extension cannot be reverted in place.

External-module compatibility is a hard gate because pg_upgrade cannot certify it. A missing or ABI-incompatible library should stop the release before production cutover.

8. Replay queries and test every client path

Use captured production traces, a representative benchmark, or a carefully selected transaction suite. Cover reads and writes, not only successful selects.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Database behavior to exercise

  • Prepared statements, parameter typing, transaction isolation, savepoints, retries, deadlock handling, advisory locks, and timeout behavior.
  • JSON and array operators, full-text search, collations, sorting, numeric and timestamp edge cases, generated columns, partition pruning, and foreign-key enforcement.
  • Bulk loads, COPY workflows, large transactions, concurrent writes, vacuum and autovacuum interactions, and error paths that trigger application retries.

Drivers, pools, and routing

Test every supported client-driver version and connection pool against the target. Verify TLS negotiation, certificate validation, password or certificate authentication, connection strings, DNS or service-discovery records, failover targets, idle and statement timeouts, and maximum connection behavior. Confirm that background workers, migration tools, reporting jobs, and administrative scripts use the intended endpoint rather than a hard-coded old address.

Review all intervening release notes for changed or removed SQL behavior and turn each applicable item into an automated assertion. Keep plan and latency results with the rehearsal record; do not claim a performance improvement unless your own controlled test measured one.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

9. Prove backup restoration and define rollback

Restore before the maintenance window

  1. Take a fresh backup from the source cluster using the organization’s normal backup process.
  2. Restore it into a separate cluster, record restore duration and resource use, and run the schema, data, extension, and application checks.
  3. Confirm that the backup includes roles, tablespaces, large objects, and required configuration or document how each is recreated.
  4. Store validation results and the exact restore commands where the on-call operator can retrieve them.

Keep a recoverable old cluster

Before cutover, stop writes or establish a documented replication catch-up point, stop jobs that can create divergent data, and capture active sessions, long-running transactions, replication slots, final lag, and backup status. Keep the old cluster stopped and recoverable until post-cutover acceptance checks pass.

Choose pg_upgrade mode with rollback in mind. Link mode is faster and uses less disk, but the old cluster’s files are shared; once the new cluster starts, the old cluster is no longer usable as an independent fallback. Clone mode can preserve the old cluster where the platform supports it, at the cost of additional space and copy time. The mode behavior is documented in pg_upgrade documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Write the reversal procedure

Document the exact order for reversing DNS or service discovery, changing pool endpoints, restoring credentials or certificates, restarting the old service, and re-establishing replication roles. State what happens to writes accepted by the new cluster after cutover; a rollback that ignores those writes can create data loss or divergence.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

If a schema-restore step fails during pg_upgrade, PostgreSQL’s guidance is to revert to the old cluster, correct the cause, and rerun the process. Do not improvise a partial rollback from a failed migration log; use the tested procedure in the pg_upgrade guide.

10. Run cutover with explicit acceptance gates

  1. Announce the maintenance window, freeze application writes or confirm the agreed replication catch-up criterion, and stop scheduled jobs that can write.
  2. Capture final replication lag, active sessions, long-running transactions, replication slots, backup status, and the source cluster’s health.
  3. Execute the rehearsed migration and start the target using the recorded configuration and service commands.
  4. Apply and verify extension updates, migrations, roles, grants, security policies, publications, subscriptions, and scheduled jobs.
  5. Switch routing only after the target accepts authenticated connections from every required client path.
  6. Run smoke tests for critical reads, writes, background jobs, failover, and error handling.
  7. Check error rates, latency, query plans, replication state, disk and WAL growth, monitoring alerts, and backup jobs.
  8. Make a time-boxed go/no-go decision. If a critical gate fails, execute the documented routing reversal or old-cluster restart procedure.

Define the acceptance owner and the maximum observation period before the change begins. Keep the old cluster recoverable until that period ends and the agreed checks are green.

11. Common failure modes and corrective actions

Missing extension or library

Symptom: the target cannot create or load an extension, or startup reports a missing shared object. Action: stop the cutover, install the target-compatible package on every relevant host, rerun the isolated rehearsal, and verify extension functions and dependent indexes before retrying.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Schema restore errors

Symptom: a role, type, collation, constraint, or extension-owned object is absent when restore reaches a dependent object. Action: inspect the first failing object, correct creation order or inventory gaps, restore into a clean target, and repeat until the complete run succeeds. Do not mark a run successful because later objects loaded.

Query or plan regression

Symptom: a critical transaction is slower, returns a different result, or chooses an unexpected plan. Action: compare the captured plans and statistics, verify data distribution and configuration, reproduce with the target binaries, and resolve the application or database change before production.

Connection failures after routing

Symptom: the server is healthy but pools or workers cannot connect. Action: test the exact DNS name, certificate chain, authentication method, driver, timeout, and firewall path used by that client; then correct routing or revert while the old cluster remains available.

Rollback cannot account for new writes

Symptom: the target accepted writes before a decision to revert. Action: stop writes, preserve the target for reconciliation, determine the authoritative data set, and follow the prewritten reconciliation plan. If no plan exists, do not pretend a DNS reversal alone is safe.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Production sign-off checklist

  • Source and target versions, topology, paths, packages, and maintenance limits are recorded.
  • All intervening release notes were reviewed and applicable changes tested.
  • Schema, data, privileges, security policies, extensions, and external libraries passed validation.
  • Representative queries, clients, pools, TLS, authentication, jobs, and failover paths passed.
  • A fresh backup was restored successfully and restore duration is known.
  • The chosen migration mode, cutover sequence, acceptance owner, and rollback route were rehearsed.
  • Critical monitoring, replication, backup, and application gates are defined with a time-boxed go/no-go decision.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.