【问题标题】:How to have a remote connection with postgres?如何与 postgres 建立远程连接?
【发布时间】:2017-09-10 06:25:00
【问题描述】:

我在 Linux 计算机上有一个 postgres 数据库,我想从另外两台计算机(Mac 和 Windows)访问它,我搜索了 stackoverflow 和网络上的一些教程,但所有这些(我发现的)都显示how to allow a remote connection to database.

我做了允许远程连接的操作,但我不知道应该如何连接到我的数据库,假设我想使用 sqlalchemy 从 python 脚本进行连接。 如果您告诉我除了从 sqlalchemy 访问的方式之外,我还可以如何使用终端和 cmd 访问数据库,我将非常感谢您的帮助。

我在postgresql.conf 中设置了listen_addresses='*',并将host all all 0.0.0.0/0 md5 添加到pg_hba.conf 的最后一行。

【问题讨论】:

    标签: python database postgresql sqlalchemy remote-access


    【解决方案1】:

    我假设您已将postgres db 设置为从外部访问。

    另外我假设,您已经在postgress db 上创建了用户和完全特权数据库名称。

    因此,如果 db 拥有用户 remote 和密码 remote 并且对 db mydb 具有完全权限,那么在远程计算机上使用以下命令就可以访问。

    确保远程计算机也安装了 postgresql 服务器/客户端

    psql -Uremote -h <remote-ip-address> -d my_db -Wremote
    

    使用 SqlAlchemy 获得访问权限,您可以参考 @Kalyan Answers

    【讨论】:

    • 我不确定我们关于从外部访问的假设是否正确,但在调查之前,我怎样才能找到我的远程 IP 地址,我尝试使用 ifconfig 并找到以 192.168 开头的内容.*.* 如果这是我应该找到 remote-ip 的方式,我认为 db 不允许从外部访问。
    • 是的,没错。 ifconfig 将显示正确的 IP。你可以看thegeekstuff.com/2014/02/enable-remote-postgresql-connection/…来配置远程访问
    【解决方案2】:

    要求: 1. SQL炼金术 2.psycopg2

    使用 pip 安装以上包。

    pip install SQLAlchemy
    pip install psycopg2
    

    使用psycopg2SQLAlchemy 连接字符串示例(您可以使用python cmd 进行快速测试):

    from sqlalchemy import create_engine
    engine=create_engine('postgresql+psycopg2://user:password@hostname/database_name')
    

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      相关资源
      最近更新 更多