gpt4 book ai didi

PostgreSQL 9.5 : Hide password from dblink connection

转载 作者:行者123 更新时间:2023-12-03 19:39:49 26 4
gpt4 key购买 nike

我想要你位于另一个数据库中的表。

我正在使用 dblink 为了这。

程序 :

第 1 步:创建扩展。

CREATE EXTENSION dblink;

第二步:制作dblink连接字符串。
select dblink_connect('con','host=127.0.0.1 dbname=makdb user=postgres password=postgres');

第 3 步:
select * from dblink('con','select cola,colb from tbl_test') as tbl(cola int,colb varchar(10));

我的问题 : 如何在步骤 2 中隐藏密码?

通过搜索,我知道我需要创建 .pgpass文件。但是在如何创建以及在哪个步骤中我需要使用该文件名时陷入了困境。

最佳答案

安装 dblink 扩展:

CREATE EXTENSION dblink;

安装 postgres_fdw 扩展(可用于访问存储在外部 PostgreSQL 服务器中的数据):
CREATE EXTENSION postgres_fdw;

创建一个新的外部服务器连接:
CREATE server myserver foreign data wrapper postgres_fdw
OPTIONS (dbname 'foreign_dbname', host 'foreign_host');

为您最近创建的外部服务器连接和您的数据库创建用户映射。
CREATE USER MAPPING FOR "user_in_current_database"
SERVER myserver OPTIONS (user 'foreign_user', password 'foreign_password');

在创建了 conexion 的远程数据库中选择一些字段。请注意,您不再需要使用用户名和密码。
SELECT tmp_table.*
FROM dblink(
'myserver',
'
SELECT field1,
field2
FROM table
'
)
AS tmp_table(
field1 TEXT,
field2 BIGINT
);

更多信息:

https://www.postgresql.org/docs/9.5/postgres-fdw.html

https://www.postgresql.org/docs/current/sql-createserver.html

https://www.postgresql.org/docs/current/sql-createusermapping.html

关于PostgreSQL 9.5 : Hide password from dblink connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com