📚 postgres_fdw enabled¶
🔍 Prepare:¶
## OS and Software environment:
Environment name Version OS Rocky Linux 9.x DB PostgreSQL 16.X
### 1. Create postgres_fdw Extension On postgres DB(Corresponding DB Creation,Example On postgres)
### 2. Create Foreign Server
\des
CREATE SERVER "databasename_schemaname" FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'IP', port 'PORT', dbname 'DB');
ALTER SERVER "databasename_schemaname" OWNER TO postgres;
GRANT USAGE ON FOREIGN SERVER "databasename_schemaname" TO username;
\des
select * from pg_foreign_server;
### 3. Create User Mapping
\deu
CREATE USER MAPPING FOR "public" SERVER "databasename_schemaname" OPTIONS ("user" 'test123', password '123456');
\deu
select * from pg_user_mappings;
### 4. Create Foreign Table
- 4.1 Manually Specifying Field Properties
\det
create foreign table "tablename" (METRIC_ID int,STATUS varchar(16), CATEGORY varchar(16)) server "databasename_schemaname" options (schema 'test123', table 'tablename’);
\det
select ftrelid::regclass,* from pg_foreign_table;
- 4.2 Import Foreign Table(Automatically Specifying Field Properties)
-
4.2.1 Import Remote_Schema one or more Table SFCS Execute on Their User Account
-
4.2.2 Import Remote_Schema All Table
### 5. Drop Foreign Server/user mapping/foreign table
-
5.1 Drop foreign Server
-
5.2 Drop user mapping
-
5.3 Drop foreign table
Drop foreign table(Drop External Tables Will Not Drop Remote Tables, If There Is A Drop Or Rename In The Remote Table, The Local PG tables Update Will Not Be Synchronized And External Table Queries Will Be Made, Indicating That It Does Not Exist)

