1.0wget https://ftp.postgresql.org/pub/source/v14.2/postgresql-14.2.tar.gz --no-check-certificate 2.0 tar -zxvf postgresql-14.2.tar.gz 3.0 mv postgresql-14.2/ postgresql 4.0cd postgresql 5.0./configure --prefix=/usr/local/postgresql 【在执行 ./configure的时候报错: configure: error: readline library not found 解决方法:yum install -y readline-devel 报错:configure: error: zlib library not found 解决方法:yum install zlib-devel 】 6.0 make && make install 在/usr/local目录下就会有pgsql这个目录 mkdir /usr/local/pgsql/data mkdir /usr/local/pgsql/log 7.加入系统环境变量【这一步看心情】 :view /etc/profile export PGHOME=/usr/local/postgresql export PGDATA=/usr/local/postgresql/data export PATH=$PGHOME/bin 8.增加用户postgres并赋权 useradd postgres chown -R postgres:root /usr/local/postgresql chown -R postgres:root /usr/local/pgsql 9.初始化数据库 【 注意: 不能在 root 用户下初始数据库,否则会报错 [root@VM-8-15-centos ~]# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/ initdb: cannot be run as root Please log in (using, e.g., “su”) as the (unprivileged) user that will own the server process. 】 su postgres /usr/local/postgresql/bin/initdb -D /usr/local/pgsql/data/ 10.编辑配置文件 vim /usr/local/pgsql/data/postgresql.conf 把60行的listen_addresses = 'localhost’改为listen_addresses = ‘*’ 把对应的port=5432放开 vim /usr/local/pgsql/data/pg_hba.conf 添加一行:【一般情况下都这个,如果没有在添加】 host all all 0.0.0.0/0 trust 说明:【pgsql.png】 TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接 DATABASE:指定数据库 USER:指定数据库用户 ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一 位是0~255之间的任何一个 METHOD:认证方式,常用的有ident,md5,password,trust,reject。 md5是常用的密码认证方式。 password是以明文密码传送给数据库,建议不要在生产环境中使用。 trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。 reject是拒绝认证。 11.启动服务[如果没有配置到系统环境变量里面,这个命令不生效] pg_ctl start -l /usr/local/pgsql/log/pg_server.log 可以使用如下命令: /usr/local/postgresql/bin/pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/pg_server.log start 到相应目录下:/usr/local/postgresql/bin/pg_ctl 关闭:/usr/local/postgresql/bin/pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/pg_server.log stop 重启:/usr/local/postgresql/bin/pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/pg_server.log restart 12.0查看版本号 cd /usr/local/postgresql/bin ./pg_ctl --version 13.0登陆后设置密码 cd /usr/local/postgresql/bin ./psql -U postgres ALTER USER postgres with encrypted password 'xxxxxx'; -------------------------------------------- 这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。 第一件事是使用\password命令,为postgres用户设置一个密码。 \password postgres 第二件事是创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。 CREATE USER dbuser WITH PASSWORD 'password';【之后记得重启服务器把pg_hba.conf里面的host all all 0.0.0.0/0 trust 的trust 改为md5 】 第三件事是创建用户数据库,这里为exampledb,并指定所有者为dbuser。 CREATE DATABASE exampledb OWNER dbuser; 第四件事是将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。 GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser; 查看启动日志:/usr/local/postgresql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start 14.把端口加入到防火墙 firewall-cmd --zone=public --add-port=5432/tcp --permanent permanent参数表示永久生效,即重启也不会失效,最后不要忘记更新防火墙规则: firewall-cmd --reload 每次登录要切换用户 sudo su - postgres
标签:postgresql,postgres,pgsql14.2,安装,pgsql,usr,服务器,local,pg From: https://www.cnblogs.com/wangbiaohistory/p/17336157.html