java在Rasbian/Raspberry Pi上是否有一个用于Postgres的JDBC包,如果有,它的名称或存储库是什么?
在诊断一个问题时,我想尝试的一个解决方案对我来说是不可用的,而且,鉴于我所看到的,我很好奇我遗漏了什么
这个问题实际上是关于“一个可怜的不幸的人,他有一个树莓Pi,想在上面使用JDBC做什么?”在普通的Rasperian/Raspberry Pi OS发行库中似乎没有任何“本机可用”的JDBC驱动程序,特别是在OS java库或PostgreSQL发行版(版本11-有点旧)中。如果这是真的,那么没有其他计算资源的人就是SOL。(此外,奇怪的是,这些从其他系统带到Rasperian的驱动程序似乎不起作用——下面将详细介绍。)
但我肯定忽略了什么
在安装了最新的JDK和PostgreSQL之后,当我在整个“完整”发行版上使用find时,我想到了几个文件/目录条目,其中包含字符“jdbc”,但没有驱动程序:
usr/lib/libreoffice/program/libjdbclo.so
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/jdbcconnectionpage.ui
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/generalspecialjdbcdetailspage.ui
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/specialjdbcconnectionpage.ui
usr/share/doc/openjdk-11-jre-headless/api/java.sql.rowset/javax/sql/rowset/class-use/JdbcRowSet.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql.rowset/javax/sql/rowset/JdbcRowSet.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql/java/sql/class-use/JDBCType.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql/java/sql/JDBCType.html
具体而言,这是新Raspberry Pi 4型号B的最新64位版本。Uname说:
Linux <hostname> 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux
此操作系统上的软件包管理器对已安装的PostgreSQL软件包说:
ii libpq5:arm64 11.11-0+deb10u1 arm64 PostgreSQL C client library
ii libreoffice-sdbc-postgresql 1:6.1.5-3+deb10u7 arm64 PostgreSQL SDBC driver for LibreOffice
ii postgresql 11+200+deb10u4 all object-relational SQL database (supported version)
ii postgresql-11 11.11-0+deb10u1 arm64 object-relational SQL database, version 11 server
ii postgresql-client-11 11.11-0+deb10u1 arm64 front-end programs for PostgreSQL 11
ii postgresql-client-common 200+deb10u4 all manager for multiple PostgreSQL client versions
ii postgresql-common 200+deb10u4 all PostgreSQL database-cluster manager
值得注意的是,我要求apt
安装所有postgresql
包并捕获输出(我认为它有137个包长),而且jdbc
和PG Admin都没有条目)
Pi上的数据库已经创建,我可以使用普通的PostgreSQL工具很好地进入它。而且,我可以通过网络,从PG Admin(一个基于网络的工具)和我想在Pi上运行的软件的其他相同实例,只要在邻近的Fedora盒子上运行就可以了。但是在Pi上运行的同样的基于Java的软件不会连接到它自己的数据库,也不会连接到本地网络上其他相同的数据库,这就是为什么如果可能的话,我想尝试一个本地JDBC驱动程序
我将讨论我在Pi上实际使用并尝试过的JDBC驱动程序,以及我如何向java程序声明它们,但这似乎有点超出了这个问题的范围
# 1 楼答案
来自https://mvnrepository.com/artifact/org.postgresql/postgresql/42.2.19的postgresql驱动程序是一个纯java驱动程序,与操作系统、CPU类型和位大小完全无关
您将找不到该驱动程序的特定于Raspberry Pi的版本,因为不需要它—您只需要一个JVM(这是所有JDBC驱动程序的要求…)
关于PostgreSQL版本兼容性:截至今天(2021年4月),驱动程序的About page声明: