Suggestion for Easier Cross-Database Query Handling in PostgreSQL

Started by Shivam Pandey9 days ago6 messagesgeneral
Jump to latest
#1Shivam Pandey
shivampandey91199@gmail.com

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

#2Frank Heikens
frank@elevarq.com
In reply to: Shivam Pandey (#1)
Re: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

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

Show quoted text

On May 15, 2026, at 3:06 PM, Shivam Pandey <shivampandey91199@gmail.com> 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.

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

#3Ron
ronljohnsonjr@gmail.com
In reply to: Frank Heikens (#2)
Re: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

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 <frank@elevarq.com> wrote:

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 <shivampandey91199@gmail.com>

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.

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

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

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ron (#3)
Re: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

Ron Johnson <ronljohnsonjr@gmail.com> 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

#5Ron
ronljohnsonjr@gmail.com
In reply to: Tom Lane (#4)
Re: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

On Fri, May 15, 2026 at 7:22 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Ron Johnson <ronljohnsonjr@gmail.com> writes:

Why doesn't the shared OID space make cross-database queries possible?

OIDs are not guaranteed unique across databases.

Ah.

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.

Even now, roles need privilege to access databases.

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

#6Isaac Morland
isaac.morland@gmail.com
In reply to: Shivam Pandey (#1)
Re: Suggestion for Easier Cross-Database Query Handling in PostgreSQL

On Fri, 15 May 2026 at 18:06, Shivam Pandey <shivampandey91199@gmail.com>
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.

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?