之前有讲过,与之稍有些差别。
-
先安装一个正常的postgresql数据库: apt install postgresql 安装的是15版本.
-
卸载,保留所需:mkdir psql && cp -rf /usr/lib/postgresql/15 . && cp -rf /usr/share/postgresql/15 share
就主要是这两个目录中的文件,暂不知道/usr/share/postgresql/能不能通过配置修改 -
建立数据库: ./bin/initdb -D ./data -E UTF8
-
修改配置文件:
nano data/pg_hba.conf
host all all 0.0.0.0/0 md5
nano data/postgresql.conf
listen_addresses = ‘*’ -
选择添加postgres用户,以及目录权限。因为我是使用另一用户(ease),所以这里不添加,这也导致后面的一个问题要注意。
useradd -g postgres postgres)
sudo passwd postgres)
sudo chown postgres:postgres ./data/) -
又是权限问题:因为使用了默认用户ease: sudo chown -R ease:ease /var/run/postgresql 。也可以修改data/postgresql.conf,让Unix套接字目录为有权限目录。
-
启动服务:./bin/pg_ctl -D ./data -l logfile start
-
进入数据库:./bin/psql -d postgres -U ease
使用ease用户登陆postgres数据库,这是使用当前ease用户创建数据库导致的。默认的管理表postgres是不变的,但数据表的用户是根据创建时来确定的。
create user postgres with password ‘…’; // 创建用户
create database … owner ….; // 创建数据库归属
grant all on database … to …; // 数据库所有权限归属