服务器安装pgsql14.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | 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 |
本文来自博客园,作者:余生请多指教ANT,转载请注明原文链接:https://www.cnblogs.com/wangbiaohistory/p/17336157.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-04-20 spring编程式事务
2021-04-20 jwt三种方式
2020-04-20 java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit(index_jsp.java:40)