因为现在的PostgreSQL管理器存在Bug:
在管理器中新建数据库的时候,数据库服务会瞬间挂掉并重启,倒是数据库并没有创建成功。
所以需要在控制台手动执行命令创建数据库。
1. 在应用商店安装postgresql管理器
2. 点击管理器安装目录;进入管理器安装目录:/www/server/panel/plugin/pgsql_manager
3. 修改安装脚本:/www/server/panel/plugin/pgsql_manager/pgsql_install.sh
这一步是为了在安装的时候创建postgres用户目录
- <font size="3"># 找到下面的代码段
- #create user if not exists
- egrep "^$user" /etc/passwd >& /dev/null
- if [ $? -ne 0 ]
- then
- # 将 useradd -g $group $user 替换成 useradd -d /home/$user -g $group -m $user
- useradd -d /home/$user -g $group -m $user
- fi</font>
复制代码
4. 在管理器中安装postgresql-13数据库
5. 添加自启脚本-注册系统服务
在 /usr/lib/systemd/system 下新建文件 postgresql-bt.service
- <font size="3">[Unit]
- Description=PostgreSQL database server
- Documentation=man:postgres(1)
- After=network.target
- [Service]
- Type=forking
- ExecStart=su - postgres -c "/www/server/pgsql/bin/postgres -D /www/server/pgsql/data >>/www/server/pgsql/logs/pgsql.log 2>&1 &"
- TimeoutStartSec=0
- ExecStop=kill -INT /www/server/pgsql/data/postmaster.pid
- TimeoutStopSec=1h
- ExecReload=su - postgres -c "/www/server/pgsql/bin/pg_ctl -D /www/server/pgsql/data reload"
- PIDFile=/www/server/pgsql/data/postmaster.pid
- OOMScoreAdjust=-900
- [Install]
- WantedBy=multi-user.target</font>
复制代码
6. 注册到systemctl
- <font size="3">systemctl enable postgresql-bt.service</font>
复制代码 7. 手动创建数据库
命令行登录数据库:/www/server/pgsql/bin/psql -U postgres
自行手动添加用户、创建数据库
8. 将手动创建的数据库添加到面板
宝塔PostgreSQL管理器,数据库列表文件路径:/www/server/panel/plugin/pgsql_manager_dbuser_info.json
数据示例:
```json
{"database": "test1", "username": "user1", "password": "pass1234", "listen_ip": "0.0.0.0/0"}
{"database": "test2", "username": "user2", "password": "pass1234", "listen_ip": "0.0.0.0/0"}
```
|
|