54人参与 • 2025-07-29 • MsSqlserver
dblink
是 postgresql 的内置扩展,允许在一个数据库会话中执行远程 sql 查询。
create extension if not exists dblink;
-- 简单查询示例(需提供目标数据库连接信息) select * from dblink( 'dbname=target_db user=username password=password host=localhost port=5432', 'select column1, column2 from target_table' ) as remote_table(column1 datatype, column2 datatype); -- 带参数的查询示例 select * from dblink( 'dbname=target_db user=username password=password', format('select * from target_table where id = %l', 1) ) as t(column1 datatype, column2 datatype);
dblink_connect
预先建立连接)。fdw 提供更高级的跨库访问能力,允许将远程表映射为本地表。
create extension if not exists postgres_fdw;
create server target_server foreign data wrapper postgres_fdw options (host 'localhost', port '5432', dbname 'target_db');
create user mapping for current_user server target_server options (user 'username', password 'password');
-- 手动创建外部表 create foreign table remote_table ( column1 datatype, column2 datatype ) server target_server options (schema_name 'public', table_name 'target_table'); -- 或批量导入远程模式中的所有表 import foreign schema public from server target_server into current_schema;
select * from remote_table;
dblink
或外部表的访问权限应仅授予需要的用户。dblink
。根据具体场景选择合适的方法,可有效提升跨库操作的效率和安全性。
以上就是postgresql中实现跨库连接的两种方案的详细内容,更多关于postgresql跨库连接的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论