400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
集群部署
SQL参考
工具指南
PostgreSQL环境:
Host: 127.0.0.1
Port: 5432
User: pg
Database: postgres
现在,创建一张测试表:
postgres=# create table test(c1 int, c2 int);
CREATE TABLE
然后,插入几条测试数据:
postgres=# insert into test values(0,0),(1,1),(2,2);
INSERT 0 3
下面登录MatrixDB,使用postgres_fdw连接刚才创建的PostgreSQL数据表:
首先,创建postgres_fdw扩展:
mxadmin=# create extension postgres_fdw;
CREATE EXTENSION
创建PostgreSQL服务器定义:
mxadmin=# CREATE SERVER server_pg FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '127.0.0.1', port '5432', dbname 'postgres');
CREATE SERVER
创建用户映射:
mxadmin=# CREATE USER MAPPING FOR mxadmin SERVER server_pg OPTIONS (user 'pg');
CREATE USER MAPPING
创建外部表:
mxadmin=# CREATE FOREIGN TABLE ext_pg (c1 int, c2 int) SERVER server_pg OPTIONS (table_name 'test');
CREATE FOREIGN TABLE
外部表创建成功后,下面就可以通过直接读写外部表来实现对PostgreSQL中的test表的操作。
通过如下查询可以看到,外部表数据和原表相同:
mxadmin=# select * from ext_pg;
c1 | c2
----+----
0 | 0
1 | 1
2 | 2
(3 rows)
向外部表插入数据:
mxadmin=# insert into ext_pg values(3,3);
INSERT 0 1
插入数据后,连接PostgreSQL查看数据:
postgres=# select * from test;
c1 | c2
----+----
0 | 0
1 | 1
2 | 2
3 | 3
(4 rows)
可以看到,数据已经写入到了PostgreSQL的test表中。