- 测试环境:①DebianStable11 + BaoTa7.9.4 + Chrome105;②腾讯云宝塔专版镜像(CentOS7.9+BaoTa7.9.3/7.9.4+Chrome105)
复制代码
整理下《在宝塔面板下安装和使用PgSQL遇到的问题汇总》
PS:本来想每个问题单独发一个贴多混点积分宝塔币的,不过考虑到这几个问题属于【pgsql】所以直接发汇总贴,希望官方酌情给点宝塔币
问题1:使用面板插件【PostgreSQL管理器2.0】安装【PgSQL14.2】,报错{/www/server/panel/plugin/pgsql_manager/pgsql_install.sh: 64: [: 0: unexpected operator}
问题原因:看报错信息说明是跟系统sh环境有关,查看当前系统【ls -l /bin/sh :/bin/sh -> dash】。正常结果【ls -l /bin/sh :/bin/sh -> bash】 。
解决方案:修改系统的sh为【bash】,重新创建软链接【ln -s /bin/bash /bin/sh】。然后重新在宝塔面板执行安装pgsql操作。
问题2:在系统【/etc/init.d/pgsql】存在开机自启文件,但每次重启服务器后【pgsql】无法自启。
手动执行【update-rc.d pgsql defaults】报错{insserv: script pgsql: service bt already provided!}
问题原因:面板管理器默认提供的自启动文件【/www/server/panel/plugin/pgsql_manager/pgsql.sh:# Provides: bt】
该“Provides:bt”值与宝塔面板本身的自启动文件重复。Provides值应该是唯一的,在所有开机启动项中,Provides不能有同名冲突。
解决方案:对于官方,修改pgsql.sh文件中的Provides值为其它;对于已安装用户,修改【/etc/init.d/pgsql】中“Provides”的值为“pgsql”。
问题3:无论是通过【PostgreSQL管理器2.0】入口创建的数据库,还是通过【宝塔面板-数据库-PgSQL】入口创建,都没有实际创建成功。
原因:面板里创建成功显示数据库列表,但实际根本没有创建成功,终端下查看【/www/server/pgsql/bin/psql -U postgres】-【\l】数据库列表没有:
补充1:在【pgsql_cli】环境下手动创建数据库或用户角色,可以创建成功和正常使用。但是在宝塔面板这两个模块创建的都不会真正创建到PgSQL系统里。
补充2:在尝试多次重启pgsql服务/修复面板/重启面板/重启服务器等操作,问题依然存在。
补充3:此问题百分百复现,在本论坛搜索“postgresql”/“pgsql”看到十几位网友反馈同问题,我也试了官方人员回帖给出的解决方法都无法真正解决。
4.功能点建议。
建议官方的【计划任务-备份数据库】支持对【pgsql】类型的定时备份功能。
分享下我当前用的临时方案是:创建【计划任务-Shell脚本】每天执行一次,脚本内容:
- /www/server/pgsql/bin/pg_dump -U postgres -d test123 > /www/backup/database/pgsql/test123_$(date "+%Y%m%d_%H%M%S").sql
复制代码
本帖总结:
问题①【安装问题】,发生场景很少,适用于系统默认sh环境被改过的情况。
问题②【开机自启动问题】适用于所有Debian系统,不过CentOS系统实测无影响。
问题③【PgSQL创建数据库不成功】此问题适用于Debian+CentOS,几乎百分百触发。
反正我在多个系统多个环境下安装测试,都没有一次就能成功的案例,这个要看脚本代码到底是哪里有问题了。
|
|