一、简介
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
二、官网
三、安装
选择版本:
PostgreSQL: Linux downloads (Red Hat family)
https://www.postgresql.org/download/linux/redhat/
3.1 安装依赖
获取所需依赖包
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.2-1.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm
yum install -y ./libzstd-1.5.2-1.el7.x86_64.rpm
yum install -y centos-release-scl-rh llvm5*
yum install -y epel-release
3.2 执行安装
安装版本库的RPM
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装 PostgreSQL
sudo yum install -y postgresql15-server postgresql15-devel
报错:找不到源
root@iZwz946ibli8ikuyqgtc58Z \~\]# yum install rh-redis5-redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86_64\&release=7\&repo=sclo-rh error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
One of the configured repositories failed (Unknown),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
▽
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Run the command with the repository temporarily disabled
yum --disablerepo=\ ...
4. Disable the repository permanently, so yum won't use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:
yum-config-manager --disable \
or
subscription-manager repos --disable=\
5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=\.skip_if_unavailable=true
Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
--解决如下
进入/etc/yum.repos.d目录,[删除目录](https://so.csdn.net/so/search?q=%E5%88%A0%E9%99%A4%E7%9B%AE%E5%BD%95&spm=1001.2101.3001.7020 "删除目录")下面所有的软件包,删除命令如下
sudo rm -rf \*
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sudo curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
sudo wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum makecache fast
### 3.3 初始化
# 初始化DB
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# 开机启动\|启动\|重启\|状态\|停止 命令
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
sudo systemctl restart postgresql-15
sudo systemctl status postgresql-15
sudo systemctl stop postgresql-15
### 3.4 配置环境变量
#编辑
vim /etc/profile
#PGSQL_HOME
export PGSQL_HOME=/usr/pgsql-15
export PATH=$PATH:$PGSQL_HOME/bin
#生效配置
source /etc/profile
### 3.5 创建数据库
# 切换用户
su postgres
psql
# 执行创建
create database test_db -U postgres ;
# 设置密码(自由发挥):postgres
alter user postgres with password 'postgres';
### 3.6 配置远程
#编辑
vim /var/lib/pgsql/15/data/postgresql.conf
修改参数:
listen_addresses = '\*'
# 编辑配置
vim /var/lib/pgsql/15/data/pg_hba.conf
# 添加内容
host all all 0.0.0.0/0 md5
#重启
sudo systemctl restart postgresql-15
### 3.7测试链接
# 格式
psql -h 主机IP -p 端口 -U 用户名 -W -d 数据库
# 示例
psql -h 127.0.0.1 -p 5432 -U postgres -d test_db;

pgadmin 安装
[项目首页 - windows:Windows inside a Docker container. - GitCode](https://gitcode.com/gh_mirrors/wi/windows?utm_source=highlight_word_gitcode&word=windows&isLogin=1 "项目首页 - windows:Windows inside a Docker container. - GitCode")



