{"id":113078,"date":"2026-11-13T12:00:00","date_gmt":"2026-11-13T12:00:00","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=113078"},"modified":"2026-10-22T13:34:41","modified_gmt":"2026-10-22T13:34:41","slug":"postgresql-extensions-why-the-fud-is-wrong","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/postgresql-extensions-why-the-fud-is-wrong\/","title":{"rendered":"PostgreSQL extensions: why the FUD is wrong"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>PostgreSQL&#8217;s biggest technical advantage is its extensibility. Extensions like PostGIS, TimescaleDB, and <code>pg_stat_statements<\/code> let you reshape the database for time-series data, geospatial queries, performance monitoring, and more. <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>However, critics often push back with fear, uncertainty, and doubt (FUD) &#8211; <em>extensions are hard to maintain, get abandoned, aren&#8217;t supported in the cloud&#8230;<\/em> Those claims contain <em>some<\/em> truth, but are mostly overstated. Here&#8217;s why.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-fud\">What is FUD?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a phrase I&#8217;ve been using for a long, long time (have I said lately that I\u2019m old?)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That phrase is <strong>fear, uncertainty and doubt (FUD).<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I always thought that it had it\u2019s start somewhere in politics. However, a quick search finds that it has two beginnings. The first was in the 1920s when it was coined as a sales tactic, but it kind of fell out of favor. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, in 1975, <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Gene_Amdahl\" target=\"_blank\" rel=\"noreferrer noopener\">Gene Amdahl<\/a><\/strong> &#8211; working to <a href=\"https:\/\/en.wikipedia.org\/wiki\/Amdahl_Corporation\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>create a competitor to IBM<\/strong><\/a> &#8211; brought it back to life, funnily enough by talking about the IBM sales reps. I guess the phrase fell out of favor, but not the sales concept.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Basically, it\u2019s a way to cast something in a bad light. That way, the thing you want, or the path you\u2019re hoping to go down, looks better by comparison. Honestly, though, it&#8217;s just a tad evil in my opinion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-and-how-does-fud-target-postgresql-extensions\">Why (and how) does FUD target PostgreSQL extensions?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As a big proponent of <a href=\"https:\/\/www.red-gate.com\/simple-talk\/collections\/series-learning-postgresql-with-grant\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>PostgreSQL<\/strong><\/a>, the <strong>number one technical reason (again, in my opinion) to use PostgreSQL is the inherent, engineered-from-the beginning <em>extensibility<\/em> of the tool.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Need to work with <strong><a href=\"https:\/\/db-engines.com\/en\/article\/Time+Series+DBMS\" target=\"_blank\" rel=\"noreferrer noopener\">time-series data<\/a><\/strong>? There\u2019s a specific extension, <a href=\"https:\/\/timescaledb.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>TimeScaleDB<\/strong><\/a>, that turns PostgreSQL into the time-series king.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Want to have a way to query performance metrics, similar to the <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/database-administration-sql-server\/baselining-with-sql-server-dynamic-management-views\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>DMVs in SQL Server<\/strong><\/a>? Great, you can use <code><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/how-to-build-an-oracle-awr-equivalent-diagnostics-stack-in-postgresql-step-by-step-guide-with-code\/#:~:text=Top%20SQL%20workload%20analysis%20in%20PostgreSQL%3A%20pg_stat_statements\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>pg_stat_statements<\/strong><\/a><\/code> for that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are simply hundreds of these &#8211; from little tiny functions to huge, new, wildly-effective capabilities that completely change what PostgreSQL can do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yet, I hear all the time (especially while talking to people who are dedicated to their old platforms):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201cWell, sure. You can use an extension, but did you know:<br>A) They have to be maintained, upgraded, and possibly administered, independently of PostgreSQL itself.<br>B) You\u2019re dependent on a team or individual to keep them up to date and they get abandoned.<br>C) Cloud providers don\u2019t support a lot of extensions.&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I mean, yikes. You really want that kind of headache in your production database?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well, while all three statements have some truth to them, this is very much FUD. Let me explain why.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-do-postgresql-extensions-require-independent-maintenance\">Do PostgreSQL extensions require independent maintenance?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I intend to be fair, open and honest in this conversation. It&#8217;s 100% true that extensions will have to be maintained. For that maintenance, in this discussion, I\u2019ll focus primarily on keeping them updated. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, there\u2019s potentially other things you have to worry about as well (depending on the extension), but versioning and upgrades are two of the biggest issues that the <em>FUD people<\/em> bring up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-extension-upgrades-work-across-databases-and-clusters-in-postgresql\">How extension upgrades work across databases and clusters in PostgreSQL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Extensions are upgraded entirely independently from your PostgreSQL cluster.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The code required to run an extension has to be added to your cluster, with each extension then &#8216;installed&#8217; to a database &#8211; and they are database-specific. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-a-practical-example-of-how-extension-upgrades-work-across-databases-and-clusters-in-postgresql\">A practical example of how extension upgrades work across databases and clusters in PostgreSQL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To understand this further, let&#8217;s say &#8211; for example &#8211; you have two databases on your cluster. On one, you want to create and maintain geographical data. This means you\u2019re taking advantage of PostGIS (or a number of other extensions, depending on your needs.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other one, meanwhile, is an <strong><a href=\"https:\/\/aws.amazon.com\/what-is\/olap\/\" target=\"_blank\" rel=\"noreferrer noopener\">OLAP (online analytical processing)<\/a> database<\/strong> &#8211; so you add <code><a href=\"https:\/\/github.com\/commandprompt\/pgcolumnar\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>pgColumnar<\/strong><\/a><\/code> (or Citus Columnar, or <code>pg_mooncake<\/code>, or\u2026) to enable the use of <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/columnstore-index-improvements-in-sql-server-2025\/\" target=\"_blank\" rel=\"noreferrer noopener\">columnstore<\/a> tables and indexes. Cool, right?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, but let\u2019s now pick on <code>pgColumnar<\/code> in a completely fictitious way (and please let me emphasize: what I\u2019m about to say isn\u2019t true)&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this completely fake scenario, the people maintaining <code>pgColumnar<\/code> are informed that there\u2019s a security hole in the product. They immediately get on it and supply an update. That&#8217;s great. However, you, my friend, had best be <a href=\"https:\/\/www.red-gate.com\/blog\/database-monitoring-and-security-go-hand-in-hand\/\" target=\"_blank\" rel=\"noreferrer noopener\">monitoring<\/a> which extensions you\u2019re using &#8211; and keeping an eye on them for just this kind of update.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s because there&#8217;s <strong>currently no mechanism in PostgreSQL that will find and install these updates for you<\/strong> (outside of any third-part extension that may or may not have been created for this).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What this means is simple: you could have a security vulnerability that you don\u2019t know about.<\/p>\n\n\n\n<div id=\"callout-block_c7dcf002216ebcee3355611a5cd8d304\" class=\"callout alignnone\">\n    <div class=\"child-last:mb-0 child-first:mt-0 bg-gray-50 dark:bg-gray-950 p-4xl my-3xl\">\n\n<p class=\"wp-block-paragraph\"><em>You may also be interested in&#8230;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.red-gate.com\/simple-talk\/collections\/sql-server-security-vulnerabilities-you-werent-aware-of\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>SQL Server security vulnerabilities you weren&#8217;t aware of (full series)<\/strong><\/a><\/p>\n\n<\/div>\n<\/div> \n\n\n<p class=\"wp-block-paragraph\">Further, let\u2019s say you\u2019re on PostgreSQL 15. You decide that now\u2019s the time to upgrade to <a href=\"https:\/\/www.postgresql.org\/docs\/release\/19.0\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>PostgreSQL 19<\/strong><\/a> or a later version, depending on when you&#8217;re reading this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to all the processing, testing, and planning required to move from 15 to 19, you&#8217;ll need to determine which version of all your extensions is supported by 19. That\u2019s for <em>every database, on every cluster, for every extension.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">See, a ton of work. <em>&#8220;PostgreSQL extensions are horrible. No need to ever leave <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/mysql\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>MySQL<\/strong><\/a>&#8230;&#8221;<\/em><\/p>\n\n\n\n<section id=\"my-first-block-block_e29fca08e23418b9a0fe87eeef08ef72\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Free desktop tool for fast PostgreSQL monitoring and diagnostics<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            Stay in control of PostgreSQL performance with Redgate pgNow \u2013 a free desktop tool for fast, focused diagnostics. No agents, no setup, just actionable insights when you need them.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/products\/redgate-pgnow\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Learn more &amp; download now: Free desktop tool for fast PostgreSQL monitoring and diagnostics\">Learn more &amp; download now<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-why-this-overhead-isn-t-unique-to-extensions\">Why this overhead isn&#8217;t unique to extensions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ah, come on! We\u2019ve always had this problem. It\u2019s not new. Don\u2019t believe me? OK. Let me ask, how are you backing up your enterprise systems? Most likely with a third-party tool or a custom set of functions, right? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And do you have to maintain those independently of your database? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, you do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How about the OS? Need to maintain that independently of the database? Again, yes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Security tools? Compliance? Deployment? Virus detection? I could keep going, but you get the point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Does this add some overhead and, let\u2019s be honest, <em>risk<\/em> to our database clusters? Yes, it does. However, no more than all the other things I listed (and a million more). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We work in a complex, ever-changing environment. Extensions are not the thing that broke the camel\u2019s back &#8211; especially true when you consider that the extensions <em>make your camel rocket-powered<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Any addition to overhead is absolutely worth the price. We just need to know that going in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-are-postgresql-extensions-at-risk-of-being-abandoned\">Are PostgreSQL extensions at risk of being abandoned?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Is it possible for an extension to simply be abandoned, no longer under development, <em>completely and utterly unsupported<\/em>? Yes, it is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The overriding majority of extensions are created and maintained exactly the same way as PostgreSQL itself: through open-source development and distribution. The <strong>single largest concern around open-source is a lack of dedicated support and liability<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open-source projects get abandoned at a pretty high rate. Accurate numbers are tough to come by, but the shorter-lived the project, or the more niche and small it is, the higher that rate goes. Anyone saying this is <em>not<\/em> a problem is probably trying to sell you something.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After all, one of the largest and most popular extensions, <a href=\"https:\/\/pgbackrest.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><code><strong>pgBackRest<\/strong><\/code><\/a>, was nearly abandoned just recently.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-pgbackrest-near-abandonment-explained\">The <code>pgBackRest<\/code> near-abandonment, explained<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/www.crunchydata.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CrunchyData<\/a>, who had supported the project for 13 years, were purchased by <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/snowflake\/\" target=\"_blank\" rel=\"noreferrer noopener\">Snowflake<\/a>, who didn\u2019t want to continue that support.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result? Fast forward just a few days, and <strong><a href=\"https:\/\/www.theregister.com\/databases\/2026\/05\/20\/postgresql-backup-tool-gets-some-backup-of-its-own-after-sole-maintainer-sounds-alarm\/5242822\" target=\"_blank\" rel=\"noreferrer noopener\">a nine-company coalition was formed to save it<\/a>.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On another note, when was the last time you used Skype? Or played any games on Flash? Or, to get more obscure (and expensive), remember the time the <a href=\"https:\/\/www.nextgov.com\/digital-government\/2021\/10\/a-60-year-old-irs-it-system-wont-finish-modernizing-until-2030\/259253\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>US government spent about $500 million on an eight-year project<\/strong><\/a> that is still <em>three years from completion<\/em> (in theory) and has cost several billion dollars?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The point is, commercial and closed-source software seem to suffer more than their share of abandonment as well. It&#8217;s not just a curse assigned to open-source.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-why-open-source-can-recover-where-closed-source-can-t\">Why open-source can recover where closed-source <em>can&#8217;t<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I like to bring up the <code>pgBackRest<\/code> story because it illustrates the most important part of this question. If an extension is used widely, is it likely to be abandoned? The answer is <em>absolutely not<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When <code>pgBackRest<\/code> hit the wall, there were immediately plans being made to fork the code or find other sources of support. The latter succeeded fast enough that the former wasn\u2019t necessary, but therein lies the power of open source: <em>had<\/em> it been necessary, we <em>could<\/em> have forked the code and kept it going.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another great example of this is the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hudson_(software)\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Hudson software<\/strong><\/a> project run by Sun. After Oracle purchased them, a fork was made of Hudson in 2009. That&#8217;s <a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Jenkins<\/strong><\/a>, and it\u2019s still going strong today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While this is a risk, again, it\u2019s no different than risks we already run with both open-source <em>and<\/em> commercial software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-which-postgresql-extensions-are-supported-in-the-cloud\">Which PostgreSQL extensions are supported in the cloud?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Can you run your &#8216;vital-to-the-business&#8217; extension in the cloud? Well&#8230;let\u2019s narrow this down a little more. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-paas-vs-vm-vs-sbaas-why-support-varies\">PaaS vs. VM vs. SBaaS: why support varies<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here, just saying &#8216;cloud&#8217; is simply not adequate because, for example, the cloud includes <a href=\"https:\/\/en.wikipedia.org\/wiki\/Virtual_machine\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Virtual Machines (VM)<\/strong><\/a>. Can you run your extension on a VM?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well, yes &#8211; you&#8217;re probably running it on a VM now, locally. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What we mean when we say &#8216;cloud&#8217;, however, is more the <a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/cloud-computing-dictionary\/what-is-paas\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>platform-as-a-service (PaaS)<\/strong><\/a> offerings of EnterpriseDB, Google, Azure, and AWS. (And, over on the <a href=\"https:\/\/www.ibm.com\/think\/topics\/dbaas\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>database-as-a-service (DBaaS)<\/strong><\/a> side, we&#8217;re limited in what extensions we can actually run.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All the various PaaS offerings are forks of PostgreSQL, many (most?) of which have split compute and storage in order to optimize them. Further, each cloud platform is radically different under the covers than your local implementation of Linux Mint &#8211; regardless of what operating systems, VMs or containers they&#8217;re using to work their magic. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They\u2019ve also built out all sorts of hardware and networking in order to supply the functionality that their PaaS offers. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Combine all of that, and an extension that fundamentally requires access to the underlying OS and storage engine (like TimeScale) simply can\u2019t be added.*<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, <a href=\"https:\/\/www.tigerdata.com\/docs\/deploy\/tiger-cloud\/tiger-cloud-azure\/service-management\/fork-services\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Tiger Data does have a fork of their own<\/strong><\/a> for PostgreSQL, with which you can pay to run TimeScale on the cloud vendor of your choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The answer here is honestly more complex. In this case, it has nothing to do with the popularity or support of the extension. As stated, it\u2019s dependent on how the cloud vendor\u2019s systems operate. That alone may or may not limit your ability to put your PostgreSQL on the cloud. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, as established, there are alternatives. You can always revert back to running a VM or use a service like Tiger Cloud. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-extensions-are-supported-across-all-major-cloud-vendors\">What extensions are supported across all major cloud vendors?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Of the roughly 575 extensions listed on the <a href=\"https:\/\/wiki.postgresql.org\/wiki\/Extensions\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>PostgreSQL Extension Encyclopedia<\/strong><\/a> (Pigsty, <em>*snicker*<\/em>), only around 15% have cloud vendor support.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(I&#8217;m using AI to generate these counts, so take it as you will).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On that 15%, the extensions supported by all the major cloud vendors include:<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li>PostGIS<\/li>\n\n\n\n<li><code>pgvector<\/code><\/li>\n\n\n\n<li><code>pg_stat_statements<\/code><\/li>\n\n\n\n<li><code>pgcrypto<\/code><\/li>\n\n\n\n<li><code>pg_trgrm<\/code><\/li>\n<\/ul>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">These are some of the most widely-used extensions out there &#8211; so yes, there are certainly limits on the cloud, but this is again more about FUD than anything else.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Further, many of the cloud providers have proprietary extensions they\u2019ve created to enhance your experience. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">EnterpriseDB has a bunch of extensions around providing a mechanism for running Oracle workloads on PostgreSQL databases. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>AWS has <a href=\"https:\/\/babelfishpg.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Babelfish<\/a><\/strong> to turn your database code into something PostgreSQL understands. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And Azure created <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/postgresql\/monitor\/concepts-query-store\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>QueryStore in PostgreSQL<\/strong><\/a> to provide better monitoring than the native offering. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, even on the cloud, extensions are one of the reasons why PostgreSQL is so popular.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*<em>An exception is Microsoft Flexible Server. That supports the open-source version &#8211; not the enterprise extension &#8211; to a DBaaS offering. <\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-verdict-is-postgresql-extension-fud-justified\">The verdict: is PostgreSQL extension FUD justified?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;m not saying that everything is all <em>sunshine and rainbows<\/em> when it comes to PostgreSQL. When extensions are added &#8211; as they often are &#8211; the platform becomes more of a beast to manage. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yet, the mechanisms and methodologies <em>used<\/em> for this management are nothing new. Sure, open-source projects can be abandoned, exactly the same as commercial ones. But they can also be reborn, and can live on in multiple ways. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While the limitations of extensions within the cloud are also quite real, they&#8217;re usually not in places likely to hurt you, since most of the popular extensions are supported by the cloud providers. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Extensions are one of the best technical reasons to use PostgreSQL. They&#8217;re not as scary as you may have been led to believe. Don\u2019t buy into the FUD!<\/p>\n\n\n\n<section id=\"my-first-block-block_de132dcd73a3d43510877f881e078372\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Get started with PostgreSQL &#8211; free book download<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            &#8216;Introduction to PostgreSQL for the data professional&#8217;, written by Grant Fritchey and Ryan Booz, covers all the basics of how to get started with PostgreSQL.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/hub\/books\/introduction-to-postgresql-for-the-data-professional\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Download your free copy: Get started with PostgreSQL - free book download\">Download your free copy<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<section id=\"faq\" class=\"faq-block my-5xl\">\n    <h2>FAQs<\/h2>\n\n            <h3 class=\"mt-4xl\">1. Does PostgreSQL automatically update extensions?<\/h3>\n        <div class=\"faq-answer\">\n            <p>No. Extensions are installed per-database and must be updated independently of PostgreSQL core and of each other. There&#8217;s no built-in mechanism to detect or install extension updates automatically, so teams need to actively track versions \u2014 especially across multiple databases and clusters \u2014 to avoid running outdated or vulnerable extension code.<\/p>\n        <\/div>\n            <h3 class=\"mt-4xl\">2. Do PostgreSQL extensions get abandoned often?<\/h3>\n        <div class=\"faq-answer\">\n            <p>It <em>can<\/em> happen, but widely-used extensions rarely stay abandoned. When <code>pgBackRest<\/code> lost its primary corporate sponsor, a nine-company coalition formed within days to keep it funded and maintained. Open-source extensions can also be forked if support disappears \u2014 a safety net closed-source, commercial software typically doesn&#8217;t offer.<\/p>\n        <\/div>\n            <h3 class=\"mt-4xl\">3. Which PostgreSQL extensions work on all major cloud providers?<\/h3>\n        <div class=\"faq-answer\">\n            <p>Roughly 15% of the ~575 cataloged PostgreSQL extensions have cloud vendor support, but that 15% includes the most widely used ones: PostGIS, <code>pgvector<\/code>, <code>pg_stat_statements<\/code>, <code>pgcrypto<\/code>, and <code>pg_trgm<\/code>. Support depends on whether you&#8217;re using a VM, PaaS, or DBaaS offering \u2014 each cloud vendor&#8217;s architecture determines which extensions can run.<\/p>\n        <\/div>\n            <h3 class=\"mt-4xl\">4. Is PostgreSQL extension &quot;FUD&quot; completely false?<\/h3>\n        <div class=\"faq-answer\">\n            <p>Not entirely, as extensions do add real maintenance overhead, <em>some<\/em> risk of abandonment, and cloud limitations. But this overhead isn&#8217;t different from managing backups, OS patches, or security tools, and the most popular extensions are broadly supported. The FUD lies in presenting normal software-management tradeoffs as a reason to avoid extensions altogether.<\/p>\n        <\/div>\n    <\/section>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PostgreSQL extensions get blamed for maintenance risk, abandonment, and poor cloud support. Here&#8217;s why that reputation is mostly FUD &#8211; not fact.&hellip;<\/p>\n","protected":false},"author":221792,"featured_media":113061,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10,143523,53,143534],"tags":[5336,4168,4170,158978,4150],"coauthors":[6785],"class_list":["post-113078","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-databases","category-featured","category-postgresql","tag-cloud","tag-database","tag-database-administration","tag-postgresql","tag-sql"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/113078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/221792"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=113078"}],"version-history":[{"count":13,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/113078\/revisions"}],"predecessor-version":[{"id":113452,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/113078\/revisions\/113452"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/113061"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=113078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=113078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=113078"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=113078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}