从Google Colab连接到Postresql数据库

时间:2020-04-04 15:56:02

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

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

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

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

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

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您的Jupyter在本地工作,这就是为什么看到Postgres的原因。 Google Colab在云中某处,所以不是:)

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

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

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

然后您可以尝试以下操作:

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

但是我不确定它是否有效。