【问题标题】:Connect to Postresql database from Google Colab从 Google Colab 连接到 Postgresql 数据库
【发布时间】:2020-07-16 17:40:58
【问题描述】:

我正在尝试将我的 Google Colab 连接到我的 Postgres 数据库。当我尝试从 Jupyter Notebook 连接时,它正在工作,所以我猜我的凭据很好。这是我得到的错误:

无法连接到服务器:没有这样的文件或目录

服务器是否在本地运行并接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?

我该如何解决?我的 Postgres 在我的机器上运行。

谢谢!

【问题讨论】:

    标签: python database postgresql database-connection google-colaboratory


    【解决方案1】:

    您也可以在 Colab 中安装 PostgreSQL。

    # install
    !apt install postgresql postgresql-contrib &>log
    !service postgresql start
    !sudo -u postgres psql -c "CREATE USER root WITH SUPERUSER"
    # set connection
    %load_ext sql
    %config SqlMagic.feedback=False 
    %config SqlMagic.autopandas=True
    %sql postgresql+psycopg2://@/postgres
    

    然后你可以使用%sql%%sql魔法查询

    df = %sql SELECT * FROM pg_catalog.pg_tables
    df
    

    【讨论】:

    • 谢谢!你怎么能得到一些关于它的文件?我什么也找不到。另外,这个数据库在哪里?我的意思是,如果我关闭笔记本并重新开始,我会再次找到数据库吗?
    • 几乎没有关于如何在 Colab 上安装 PG 的文档。该数据库位于 Google Cloud 中的 Colab 机器中。如果关闭它,数据库就会消失。您需要每次都重新创建它。或者您可以将其转储到 Google Drive 中,然后下次再次加载。
    【解决方案2】:

    您的Jupyter 在本地工作,这就是它看到Postgres 的原因。 Google Colab 在云端的某个地方,所以它没有:)

    您需要将Colab 连接到您的本地运行时:

    连接到本地运行时:在 Colaboratory 中,单击“连接”按钮并选择“连接到本地运行时...”。在出现的对话框中输入上一步中的 URL,然后单击“连接”按钮。在此之后,您现在应该连接到本地运行时。

    (如上一步中的URL等详细信息,请参见来源:https://research.google.com/colaboratory/local-runtimes.html

    然后你可以试试这样的:

    %sql postgresql://username:@localhost:5432/username
    

    但我不确定它是否有效。

    【讨论】:

    • 好的,谢谢!但如果我愿意,我可以访问驱动器中的文件吗?我在代码的其他单元格中使用它们。
    • 你为什么不测试一下呢? :) 我认为是的,连接到本地运行时不会取消您的在线驱动器连接
    猜你喜欢
    • 1970-01-01
    • 2018-04-23
    • 2021-10-21
    • 1970-01-01
    • 2021-09-30
    • 2014-03-04
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    相关资源
    最近更新 更多