added postgres_fdw docs (#31085)
* added postgres_fdw docs * updated link in extension docs * Update apps/docs/content/guides/database/extensions/postgres_fdw.mdx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update apps/docs/content/guides/database/extensions/postgres_fdw.mdx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update apps/docs/content/guides/database/extensions/postgres_fdw.mdx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * ci: Autofix updates from GitHub workflow * Update apps/docs/content/guides/database/extensions/postgres_fdw.mdx Co-authored-by: Charis <26616127+charislam@users.noreply.github.com> --------- Co-authored-by: Brian Brennglass <brian@Brians-MBP.lan> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-tidy-bot <github-tidy-bot@supabase.com> Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
This commit is contained in:
@@ -1004,6 +1004,10 @@ export const database: NavMenuConstant = {
|
||||
name: 'pg_stat_monitor: Extended Query Performance Monitoring',
|
||||
url: '/guides/database/extensions/pg_stat_monitor',
|
||||
},
|
||||
{
|
||||
name: 'postgres_fdw: query data from an external Postgres server',
|
||||
url: '/guides/database/extensions/postgres_fdw',
|
||||
},
|
||||
{
|
||||
name: 'pgvector: Embeddings and vector similarity',
|
||||
url: '/guides/database/extensions/pgvector',
|
||||
|
||||
148
apps/docs/content/guides/database/extensions/postgres_fdw.mdx
Normal file
148
apps/docs/content/guides/database/extensions/postgres_fdw.mdx
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
id: 'postgres_fdw'
|
||||
title: 'postgres_fdw'
|
||||
description: 'Query Postgres server from another'
|
||||
---
|
||||
|
||||
The extension enables Postgres to query tables and views on a remote Postgres server.
|
||||
|
||||
## Enable the extension
|
||||
|
||||
<Tabs
|
||||
scrollable
|
||||
size="small"
|
||||
type="underlined"
|
||||
defaultActiveId="dashboard"
|
||||
queryGroup="database-method"
|
||||
>
|
||||
<TabPanel id="dashboard" label="Dashboard">
|
||||
|
||||
1. Go to the [Database](/dashboard/project/_/database/tables) page in the Dashboard.
|
||||
2. Click on **Extensions** in the sidebar.
|
||||
3. Search for "postgres_fdw" and enable the extension.
|
||||
|
||||
</TabPanel>
|
||||
<TabPanel id="sql" label="SQL">
|
||||
|
||||
```sql
|
||||
-- Example: enable the "postgres_fdw" extension
|
||||
create extension if not exists postgres_fdw;
|
||||
|
||||
-- Example: disable the "postgres_fdw" extension
|
||||
drop extension if exists postgres_fdw;
|
||||
```
|
||||
|
||||
Procedural languages are automatically installed within `pg_catalog`, so you don't need to specify a schema.
|
||||
|
||||
</TabPanel>
|
||||
|
||||
</Tabs>
|
||||
|
||||
## Create a connection to another database
|
||||
|
||||
<StepHikeCompact>
|
||||
<StepHikeCompact.Step step={1}>
|
||||
<StepHikeCompact.Details title="Create a foreign server">
|
||||
|
||||
Define the remote database address
|
||||
|
||||
</StepHikeCompact.Details>
|
||||
<StepHikeCompact.Code>
|
||||
```sql
|
||||
create server "<foreign_server_name>"
|
||||
foreign data wrapper postgres_fdw
|
||||
options (
|
||||
host '<host>',
|
||||
port '<port>',
|
||||
dbname '<dbname>'
|
||||
);
|
||||
```
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
<StepHikeCompact.Step step={2}>
|
||||
<StepHikeCompact.Details title="Create a server mapping">
|
||||
Set the user credentials for the remote server
|
||||
</StepHikeCompact.Details>
|
||||
<StepHikeCompact.Code>
|
||||
```sql
|
||||
create user mapping for "<dbname>"
|
||||
server "<foreign_server_name>"
|
||||
options (
|
||||
user '<db_user>',
|
||||
password '<password>'
|
||||
);
|
||||
```
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
<StepHikeCompact.Step step={3}>
|
||||
<StepHikeCompact.Details title="Import tables">
|
||||
Import tables from the foreign database
|
||||
</StepHikeCompact.Details>
|
||||
<StepHikeCompact.Code>
|
||||
Example: Import all tables from a schema
|
||||
```sql
|
||||
import foreign schema "<foreign_schema>"
|
||||
from server "<foreign_server>"
|
||||
into "<host_schema>";
|
||||
```
|
||||
|
||||
Example: Import specific tables
|
||||
```sql
|
||||
import foreign schema "<foreign_schema>""
|
||||
limit to (
|
||||
"<table_name1>",
|
||||
"<table_name2>"
|
||||
)
|
||||
from server "<foreign_server>"
|
||||
into "<host_schema>";
|
||||
```
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
<StepHikeCompact.Step step={4}>
|
||||
<StepHikeCompact.Details title="Query foreign table"/>
|
||||
<StepHikeCompact.Code>
|
||||
|
||||
```sql
|
||||
select * from '<foreign_table>'
|
||||
```
|
||||
</StepHikeCompact.Code>
|
||||
</StepHikeCompact.Step>
|
||||
|
||||
</StepHikeCompact>
|
||||
|
||||
### Configuring execution options
|
||||
|
||||
#### Fetch_size
|
||||
|
||||
Maximum rows fetched per operation. For example, fetching 200 rows with `fetch_size` set to 100 requires 2 requests.
|
||||
|
||||
```sql
|
||||
alter server "<foreign_server_name>"
|
||||
options (fetch_size '10000');
|
||||
```
|
||||
|
||||
#### Batch_size
|
||||
|
||||
Maximum rows inserted per cycle. For example, inserting 200 rows with `batch_size` set to 100 requires 2 requests.
|
||||
|
||||
```sql
|
||||
alter server "<foreign_server_name>"
|
||||
options (batch_size '1000');
|
||||
```
|
||||
|
||||
#### Extensions
|
||||
|
||||
Lists shared extensions. Without them, queries involving unlisted extension functions or operators may fail or omit references.
|
||||
|
||||
```sql
|
||||
alter server "<foreign_server_name>"
|
||||
options (extensions 'vector, postgis');
|
||||
```
|
||||
|
||||
For more server options, check the extension's [official documentation](https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW)
|
||||
|
||||
## Resources
|
||||
|
||||
- Official [`postgres_fdw` documentation](https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW)
|
||||
@@ -487,7 +487,7 @@
|
||||
"name": "postgres_fdw",
|
||||
"comment": "foreign-data wrapper for remote PostgreSQL servers",
|
||||
"tags": ["Admin"],
|
||||
"link": "https://www.postgresql.org/docs/current/postgres-fdw.html",
|
||||
"link": "/guides/database/extensions/postgres_fdw",
|
||||
"github_url": null,
|
||||
"product": null,
|
||||
"product_url": null
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
APIs
|
||||
[Aa]uth
|
||||
[Bb]aselining
|
||||
batch_size
|
||||
Berri
|
||||
[Cc]hatbots?
|
||||
ChatGPT
|
||||
@@ -24,6 +25,7 @@ Deno
|
||||
[Ee]nv
|
||||
[Ee]nums?
|
||||
event_message
|
||||
fetch_size
|
||||
Firestore
|
||||
Hashicorp
|
||||
[Gg]eospatial
|
||||
@@ -41,6 +43,7 @@ JWTs
|
||||
Lua
|
||||
Markprompt
|
||||
[Mm]iddleware
|
||||
misexecution
|
||||
[Nn]amespace(d|s)?
|
||||
Next.js
|
||||
npm
|
||||
|
||||
Reference in New Issue
Block a user