使用谷歌电子表格中的谷歌应用程序脚本连接到 postgresql 数据库

PRe*_*idy 7 postgresql google-sheets google-apps-script

我之前见过这个问题问过几次,最值得注意的是这个 StackOverflow 问题:Automate Google Spreadsheet data load from external database

在谷歌问题跟踪器上:https : //issuetracker.google.com/issues/36752790

但我正在寻找更新的答案。

我有一个在 GCP 上运行的 PostgreSQL 数据库的 cloud-SQL 实例。我想自动连接到它并每天填充一个电子表格,这对于 MySQL 数据库是可能的。

Google 上的文档说使用 jdbc 套接字工厂使用以下格式连接到 PostgreSQL 数据库:

"jdbc:postgresql://google/<DBNAME>?"
"socketFactory=com.google.cloud.sql.postgres.SocketFactory"
"&socketFactoryArg=<InstanceName>"
Run Code Online (Sandbox Code Playgroud)

我还尝试了 Google GitHub 页面(在文档中的示例下链接)中的格式(略有不同):

"jdbc:postgresql://google/<DATABASE_NAME>?cloudSqlInstance=<INSTANCE_CONNECTION_NAME>&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=<POSTGRESQL_USER_NAME>&password=<POSTGRESQL_USER_PASSWORD>"
Run Code Online (Sandbox Code Playgroud)

创建网址后,我运行:

var conn = Jdbc.getConnection(dbUrl)
Run Code Online (Sandbox Code Playgroud)

但是得到这个错误:

连接 URL 使用不受支持的 JDBC 协议。

我想知道这是可能的还是用户错误?

how*_*ese 2

我发现 Google Sheets 中的 JDBC(尤其是 Postgres)存在缺陷,因此我构建了SeekWell,它可以让您自动将数据从 Postgres 发送到 Sheets。您还可以将表格中的更改同步回数据库,并安排每天、每小时或每五分钟刷新一次。

免责声明:我建造了这个。