从 Google Colab 连接到 Postresql 数据库

Nad*_*ani 7 python database postgresql database-connection google-colaboratory

我正在尝试将我的 Google Colab 连接到我的 Postgres DB。当我尝试从 Jupyter Notebook 连接时,它正在工作,所以我猜测我的凭据没问题。这是我得到的错误:

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

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

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

谢谢!

Kor*_*ich 7

您还可以在 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
Run Code Online (Sandbox Code Playgroud)

%sql然后你可以使用or %%sqlmagic查询

df = %sql SELECT * FROM pg_catalog.pg_tables
df
Run Code Online (Sandbox Code Playgroud)


Raf*_*faó 0

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

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

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

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

然后你可以尝试这样的事情:

%sql postgresql://username:@localhost:5432/username
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否有效。