Subject: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

From: Shivam Pandey <[email-masked]>
Date: Sat, 16 May 2026 00:30:52 +0530

Hello PostgreSQL Team,

I would like to share feedback from a developer perspective regarding
cross-database querying in PostgreSQL.

One feature that many developers appreciate in MySQL is the ability to
directly query and join tables across multiple databases within the same
server instance. This approach becomes very useful in real-world situations
where applications need to access shared or distributed data quickly and
efficiently.

In PostgreSQL, achieving similar functionality often requires additional
setup using extensions such as postgres_fdw or dblink. While these
solutions are powerful and architecturally clean, they can feel complex for
developers who are building applications rapidly or migrating from systems
like MySQL.

It would be valuable if PostgreSQL could provide a more developer-friendly
and simplified native approach for cross-database querying while still
maintaining PostgreSQL’s strong isolation and security principles.

Possible improvements could include:

1)Simpler syntax for cross-database joins
2) Easier configuration for trusted local databases
3) Built-in lightweight federation support
4) Better onboarding documentation for multi-database use cases

PostgreSQL is already one of the most powerful and respected databases in
the industry. Enhancing developer convenience in this area could make
adoption even smoother for many teams.

Thank you for your incredible work and continuous innovation.

Best Regards,
Shivam Pandey

---

From: Frank Heikens <[email-masked]>
Date: Fri, 15 May 2026 22:17:53 +0000

Hi Shivam,

Thank you for your feedback.

One important difference is terminology.

In MySQL, CREATE DATABASE and CREATE SCHEMA are essentially the same command, so what MySQL calls a “database” is effectively a schema (namespace).

PostgreSQL also supports querying across schemas natively, so the same functionality is already available when the objects are in the same PostgreSQL database.

In PostgreSQL, a database is a true isolation boundary with its own catalogs and connection context. Because of this design, direct joins across databases are not supported. When this is required, postgres_fdw is the recommended solution.

So for most MySQL users, the equivalent approach in PostgreSQL is to use multiple schemas within a single database rather than multiple databases.

Best regards,
Frank Heikens

> On May 15, 2026, at 3:06 PM, Shivam Pandey <[email-masked]> wrote:
> 
> 
> Hello PostgreSQL Team,
> 
> I would like to share feedback from a developer perspective regarding cross-database querying in PostgreSQL.
> 
> One feature that many developers appreciate in MySQL is the ability to directly query and join tables across multiple databases within the same server instance. This approach becomes very useful in real-world situations where applications need to access shared or distributed data quickly and efficiently.
> 
> In PostgreSQL, achieving similar functionality often requires additional setup using extensions such as postgres_fdw or dblink. While these solutions are powerful and architecturally clean, they can feel complex for developers who are building applications rapidly or migrating from systems like MySQL.
> 
> It would be valuable if PostgreSQL could provide a more developer-friendly and simplified native approach for cross-database querying while still maintaining PostgreSQL’s strong isolation and security principles.
> 
> PostgreSQL is already one of the most powerful and respected databases in the industry. Enhancing developer convenience in this area could make adoption even smoother for many teams.
>

---

From: Ron Johnson <[email-masked]>
Date: Fri, 15 May 2026 18:56:46 -0400

Frank,

Why doesn't the shared OID space make cross-database queries possible?  SQL
Server does it, so the idea isn't that far-fetched.

On Fri, May 15, 2026 at 6:18 PM Frank Heikens <[email-masked]> wrote:

> In MySQL, CREATE DATABASE and CREATE SCHEMA are essentially the same
> command, so what MySQL calls a “database” is effectively a schema
> (namespace).
>
> PostgreSQL also supports querying across schemas natively, so the same
> functionality is already available when the objects are in the same
> PostgreSQL database.
>
> In PostgreSQL, a database is a true isolation boundary with its own
> catalogs and connection context. Because of this design, direct joins
> across databases are not supported. When this is required, postgres_fdw is
> the recommended solution.
>
> So for most MySQL users, the equivalent approach in PostgreSQL is to use
> multiple schemas within a single database rather than multiple databases.
>
> Best regards,
> Frank Heikens
>
>
>
> > It would be valuable if PostgreSQL could provide a more
> developer-friendly and simplified native approach for cross-database
> querying while still maintaining PostgreSQL’s strong isolation and security
> principles.
> >
> > PostgreSQL is already one of the most powerful and respected databases
> in the industry. Enhancing developer convenience in this area could make

-- 
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

---

From: Tom Lane <[email-masked]>
Date: Fri, 15 May 2026 19:22:58 -0400

Ron Johnson <[email-masked]> writes:
> Why doesn't the shared OID space make cross-database queries possible?

OIDs are not guaranteed unique across databases.  To make this work
transparently, we'd have to change all internal APIs to use database
OID + object OID, not just object OID, as object identifiers.  That
would be horrendously invasive, not to mention probably costly in
performance (by doubling the width of cache keys, for instance).

But totally independently of implementation considerations, it's not
apparent to me that this would be a good idea.  As Frank mentioned,
Postgres has always treated databases as isolation boundaries.
Changing that would probably break a lot of peoples' installation
designs.

			regards, tom lane

---

From: Ron Johnson <[email-masked]>
Date: Fri, 15 May 2026 19:57:45 -0400

On Fri, May 15, 2026 at 7:22 PM Tom Lane <[email-masked]> wrote:

> OIDs are not guaranteed unique across databases.

Ah.

> Changing that would probably break a lot of peoples' installation

Even now, roles need privilege to access databases.

---

From: Isaac Morland <[email-masked]>
Date: Fri, 15 May 2026 22:15:25 -0400

> where applications need to access shared or distributed data quickly and

What MySQL calls databases PostgreSQL calls schemas, and PostgreSQL
certainly has the ability to query and join tables across schemas.

What MySQL might call an instance (a collection of MySQL databases)
PostgreSQL calls a database (a collection of PostgreSQL schemas). A single
PostgreSQL instance has the ability to host multiple databases (albeit
sharing a single set of roles and role relationships). Can MySQL query and
join across multiple instances?

---

From: Merlin Moncure <[email-masked]>
Date: Tue, 7 Jul 2026 14:34:29 -0600

> join across multiple instances?

mysql treats SCHEMA and DATABASE the same.   So the features are at parity
from an isolation standpoint.  (This is also why you won't get this feature
since most of the benefits from cross database querying are already
present).

Besides. postgres schemas are better in pretty much every way, mainly due
to the games you can play with search_path and plan invalidation,
especially in p/pgsql.

merlin