PostgreSQL: The World's Most Advanced Open Source Relational Database
官网:https://www.postgresql.org/
1、 安装官方yum仓库源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、 安装postgresql13-server 服务
sudo yum install -y postgresql13-server
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * epel: hk.mirrors.thegigabit.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 postgresql13-server.x86_64.0.13.2-1PGDG.rhel7 将被 安装 --> 正在处理依赖关系 postgresql13-libs(x86-64) = 13.2-1PGDG.rhel7,它被软件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在处理依赖关系 postgresql13(x86-64) = 13.2-1PGDG.rhel7,它被软件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在处理依赖关系 libpq.so.5()(64bit),它被软件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在检查事务 ---> 软件包 postgresql13.x86_64.0.13.2-1PGDG.rhel7 将被 安装 ---> 软件包 postgresql13-libs.x86_64.0.13.2-1PGDG.rhel7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ============================================================================================================================================== Package 架构 版本 源 大小 ============================================================================================================================================== 正在安装: postgresql13-server x86_64 13.2-1PGDG.rhel7 pgdg13 5.4 M 为依赖而安装: postgresql13 x86_64 13.2-1PGDG.rhel7 pgdg13 1.4 M postgresql13-libs x86_64 13.2-1PGDG.rhel7 pgdg13 379 k 事务概要 ============================================================================================================================================== 安装 1 软件包 (+2 依赖软件包) 总下载量:7.2 M 安装大小:30 M Downloading packages: (1/3): postgresql13-libs-13.2-1PGDG.rhel7.x86_64.rpm | 379 kB 00:00:27 (2/3): postgresql13-13.2-1PGDG.rhel7.x86_64.rpm | 1.4 MB 00:01:24 (3/3): postgresql13-server-13.2-1PGDG.rhel7.x86_64.rpm | 5.4 MB 00:05:00 ---------------------------------------------------------------------------------------------------------------------------------------------- 总计 22 kB/s | 7.2 MB 00:05:27 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : postgresql13-libs-13.2-1PGDG.rhel7.x86_64 1/3 正在安装 : postgresql13-13.2-1PGDG.rhel7.x86_64 2/3 正在安装 : postgresql13-server-13.2-1PGDG.rhel7.x86_64 3/3 验证中 : postgresql13-server-13.2-1PGDG.rhel7.x86_64 1/3 验证中 : postgresql13-13.2-1PGDG.rhel7.x86_64 2/3 验证中 : postgresql13-libs-13.2-1PGDG.rhel7.x86_64 3/3 已安装: postgresql13-server.x86_64 0:13.2-1PGDG.rhel7 作为依赖被安装: postgresql13.x86_64 0:13.2-1PGDG.rhel7 postgresql13-libs.x86_64 0:13.2-1PGDG.rhel7
完毕!
3、查看安装的包
rpm -qa | grep postgres
4、查看安装地址
rpm -qal | grep postgres
5、# 初始化数据(数据库存储位置:/var/lib/pgsql/13/data):
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
这里对比一下 初始化之前和之后
6、设置开机启动
sudo systemctl enable postgresql-13
7、启动服务
sudo systemctl start postgresql-13 #重新启动 sudo systemctl restart postgresql-13 #停止服务 sudo systemctl stop postgresql-13 #查看服务状态 sudo systemctl status postgresql-13
8、查看服务状态
[root@kycxtest121 data]# sudo systemctl status postgresql-13 ● postgresql-13.service - PostgreSQL 13 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled) Active: active (running) since 二 2021-03-02 13:59:42 CST; 10s ago Docs: https://www.postgresql.org/docs/13/static/ Process: 6097 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 6103 (postmaster) CGroup: /system.slice/postgresql-13.service ├─6103 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/ ├─6105 postgres: logger ├─6107 postgres: checkpointer ├─6108 postgres: background writer ├─6109 postgres: walwriter ├─6110 postgres: autovacuum launcher ├─6111 postgres: stats collector └─6112 postgres: logical replication launcher 3月 02 13:59:41 kycxtest121 systemd[1]: Starting PostgreSQL 13 database server... 3月 02 13:59:41 kycxtest121 postmaster[6103]: 2021-03-02 13:59:41.915 CST [6103] 日志: 日志输出重定向到日志收集进程 3月 02 13:59:41 kycxtest121 postmaster[6103]: 2021-03-02 13:59:41.915 CST [6103] 提示: 后续的日志输出将出现在目录 "log"中. 3月 02 13:59:42 kycxtest121 systemd[1]: Started PostgreSQL 13 database server.
9、添加防火墙规则
# 添加防火墙规则 firewall-cmd --permanent --add-port=5432/tcp success firewall-cmd --reload # 验证 iptables -nL Chain IN_public_allow (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW,UNTRACKED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NEW,UNTRACKED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5432 ctstate NEW,UNTRACKED
10、修改服务配置允许远程链接 ps: 修改前需要停止数据库服务
vi /var/lib/pgsql/13/data/postgresql.conf #将listen_addresses 修改为 * #并将端口设置打开
vi /var/lib/pgsql/13/data/pg_hba.conf #添加 0.0.0.0/0 trust
重启服务
11、修改数据库密码
由于postgresql默认超级用户为postgres,而且他的登陆认证为ident模式,需要对应的用户名才能登陆数据库,不过在安装postgresql时,它已经帮我们新建了一个postgres用户,我们只需要切换到postgres用户,然后再登陆即可。
su - postgres #注意这里postgers 前后都有空格 # 以postgres 用户进入系统 #登录数据库命令: psql -U postgres #会进入postgres用户的控制台 #\l 查看有哪些数据库 #\c postgresql 选择postgresql 这个数据库,会提示进入连接 #然后就可以用select 等语句查询了 #修改数据库密码 ALTER USER postgres WITH PASSWORD 'postgres' ; #退出数据库 \q