从 Flathub 安装的 DBeaver 缺少一个组件 io.dbeaver.DBeaverCommunity.Client.pgsql,导致无法完成 PostgreSQL 数据库的导出。但很遗憾,虽然可以通过:

flatpak install flathub io.dbeaver.DBeaverCommunity.Client.pgsql

这样的命令来安装该组件,但是安装的是久远前的旧版,已和新版 DBeaver 不兼容了,该组件的 flathub 仓库已经好久无人更新。

参考 PR #7 的评论,目前可行的办法是在本地 build 然后安装。

比如,先删掉可能的旧版:

flatpak remove io.dbeaver.DBeaverCommunity.Client.pgsql

再克隆仓库:

git clone https://github.com/flathub/io.dbeaver.DBeaverCommunity.Client.pgsql.git temp
cd temp

手动修改一下 io.dbeaver.DBeaverCommunity.Client.pgsql.json 文件第五行的 sdk 版本,比如改为 23.08:

"sdk": "org.freedesktop.Sdk//23.08",

最后再去 https://git.postgresql.org/gitweb/?p=postgresql.git;a=tags 上找到对应的 PostgreSQL 版本和 commit hash,替换 27、28 行,比如选用 15.3 版本:

"tag": "REL_15_3",
"commit": "8382864eb5c9f9ebe962ac20b3392be5ae304d23"

之后构建:

flatpak-builder --user --install-deps-from=flathub build-dir io.dbeaver.DBeaverCommunity.Client.pgsql.json --force-clean --default-branch=stable

然后再安装:

flatpak-builder --user --install --force-clean --default-branch=stable build-dir io.dbeaver.DBeaverCommunity.Client.pgsql.json

还有一步 ,需要安装 Flatseal,找到 DBeaver 然后在 Filesystem -> Other files 内填入:

~/.local/share/flatpak/runtime/io.dbeaver.DBeaverCommunity.Client.pgsql/x86_64/stable/active/files/bin

这样就可以检测到组件了。