Python 如何与postgres建立远程连接?
我在Linux计算机上有一个postgres数据库,我想从另外两台计算机,一台mac和一台windows上访问它,我在stackoverflow和一些网上教程中搜索,但所有这些(我发现的)都显示出来了 我做了允许远程连接的事情,但我不知道如何连接到数据库,假设我想使用sqlalchemy从python脚本进行连接。 如果您告诉我如何使用terminal和cmd访问数据库,以及如何从sqlalchemy访问数据库,我将非常感谢您的帮助 我在Python 如何与postgres建立远程连接?,python,database,postgresql,sqlalchemy,remote-access,Python,Database,Postgresql,Sqlalchemy,Remote Access,我在Linux计算机上有一个postgres数据库,我想从另外两台计算机,一台mac和一台windows上访问它,我在stackoverflow和一些网上教程中搜索,但所有这些(我发现的)都显示出来了 我做了允许远程连接的事情,但我不知道如何连接到数据库,假设我想使用sqlalchemy从python脚本进行连接。 如果您告诉我如何使用terminal和cmd访问数据库,以及如何从sqlalchemy访问数据库,我将非常感谢您的帮助 我在postgresql.conf中设置listen\u ad
postgresql.conf
中设置listen\u addresses='*'
,并将主机所有0.0.0.0/0 md5
添加到pg\u hba.conf
要求的最后一行:
1.炼金术
2.psycopg2
使用pip安装上述软件包
pip install SQLAlchemy
pip install psycopg2
使用psycopg2
的SQLAlchemy
连接字符串示例(您可以使用python cmd进行快速测试):
我假设您已经从外部访问了
postgres
db
我还假设,您已经在postgress
db上创建了用户和完全特权数据库名
因此,如果db拥有用户remote
和密码remote
,并且拥有dbmydb
的完全权限,则在远程计算机上使用以下命令可以访问
确保远程计算机也安装了postgresql server/client
psql -Uremote -h <remote-ip-address> -d my_db -Wremote
psql-Uremote-h-d my_db-Wremote
使用SqlAlchemy获取访问权限您可以参考@Kalyan Answers我不确定我们关于从外部访问的假设是否正确,但在调查之前,我如何才能找到我的远程ip地址,我尝试使用ifconfig并查找以192.168.*.*开头的内容。如果这是查找远程ip的方式,我认为不允许db从外部访问。是的。ifconfig将显示正确的IP。您可以查看以配置远程访问
psql -Uremote -h <remote-ip-address> -d my_db -Wremote