我正在使用Gitpod云IDE,它使用Docker映像通过VSCode IDE提供了一个不错的Linux环境。

https://gitpod.io

可以在Gitpod中使用Docker文件在环境中安装其他软件。因此,通过遵循Gitpod文档,我安装了PostgreSQL。

https://medium.com/gitpod/bring-your-own-docker-image-to-gitpod-52db1aa861de

我现在可以使用此命令连接到PostgreSQL。请注意,我必须提供sockets文件夹才能正常工作。

psql -h ~/pg/sockets postgres

我有一个Spring Boot应用程序,应该连接到PostgreSQL DB。连接URL来自环境变量。

export JDBC_DATABASE_URL=jdbc:postgresql://[email protected]/postgres

这就是我的属性文件中的内容。

spring.datasource.url=${JDBC_DATABASE_URL}
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.show-sql=false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.datasource.maxActive=10
spring.datasource.maxIdle=5
spring.datasource.minIdle=2
spring.datasource.initialSize=5
spring.datasource.removeAbandoned=true


这是我在psql上运行\ du列出用户时得到的。

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 gitpod    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}



登录到该Linux环境的Gitpod用户名为gitpod。 (我不知道密码)

当我运行命令netstat -plunt | grep postgres我得到以下输出

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      955/postgres


但是,当我运行我的应用程序时,它将引发以下异常

Caused by: java.net.UnknownHostException: [email protected]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_202]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_202]
        at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_202]
        at org.postgresql.core.PGStream.<init>(PGStream.java:75) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ~[postgresql-42.2.6.jar!/:42.2.6]
        ... 56 common frames omitted


我认为连接网址应该有问题。有人可以解释一下如何使它工作吗?

非常感谢您的帮助。
谢谢。

最佳答案

我设法在gitpod社区的帮助下在gitpod中工作。

如本文档所述,使用了gitpod团队预先构建的postgres docker映像来安装postgreSQL。
https://www.gitpod.io/blog/gitpodify/#postgresql

我将网址更改为以下内容

export JDBC_DATABASE_URL=jdbc:postgresql://localhost:5432/postgres?user=gitpod

08-27 16:44