目录
user和install
- 用户
-
建议运行PostgreSQL在单独的用户帐户下。此用户帐户应仅拥有由服务器,不应与其他守护进程共享.
-
特别是,建议该用户帐户不拥有PostgreSQL可执行文件,以确保受损的服务器进程无法修改这些可执行文件。
-
PostgreSQL的预打包版本通常会在软件包安装。
-
要将Unix用户帐户添加到系统中,请查找命令useradd或adduser。通常默认是用户postgres这个名字,尤其是通过包安装的方式
- 安装
- 从源码安装
./configure
make
su
make install
adduser postgres
mkdir -p /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile
start
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
- 安装诸如RPM或Debian包之类的预打包发行版
sudo dnf install postgresql-server
- 初始化
要手动初始化数据库集群,请运行initdb并指定所需的文件系统位置
带有-D选项的数据库集群,
root# mkdir /usr/local/pgsql
root# chown postgres /usr/local/pgsql
root# su postgres
postgres$ initdb -D /usr/local/pgsql/data
如果数据目录存在并且已经包含文件,initdb将拒绝运行;这是为了防止
意外覆盖现有安装。
由于数据目录包含数据库中存储的所有数据,因此必须确保其安全
防止未经授权的访问。initdb因此取消了除Post之外的所有人的访问权限-
greSQL用户,以及可选的组。组访问在启用时是只读的。这允许取消定价-
与群集所有者在同一组中的特权用户备份群集数据或执行其他操作
只需要读取访问的操作。
如果使用pg_ctl初始化服务器,这可能会更直观
pg_ctl -D /usr/local/pgsql/data initdb
标签:web,postgresql,postgres,local,data,pgsql,usr,initdb,ruby
From: https://www.cnblogs.com/waterruby/p/17587227.html