CentOS7安装PostgreSql

343 阅读1分钟

MySql和PostgreSql都是比较主流的开源关系型数据库,因为PostgreSql在数据分析方面提供了很多实用的函数而受到不少开发的欢迎,所以在自己电脑上也安装一个学习。

下载

我安装的是PostgreSql14:点击下载
image.png 网页捕获_2-1-2022_11194_www.postgresql.org.jpeg

# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Install PostgreSql:
sudo yum install -y postgresql14-server

# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14

安装完成后可以按照下面的操作检查是否安装成功

# 切换到默认账号postgres
su postgres
# 切换到默认数据库postgres
psql postgres
select version();

能看到下面的信息,说明数据库已经安装成功了。
image.png

使用客户端连接PostgreSql

对于大多数用户来说,使用Navicat、DBeaver这样的工具连接数据库使用才是常态,不可能在命令行进行操作。PostgreSql为了方便初始化数据库,在本机上使用默认账号postgres进行操作是无需密码的,同时也无法通过第三方的工具去连接,所以需要对数据库做一些配置。

修改配置

在目录/var/lib/pgsql/14/data中找到配置文件postgresql.confpg_hba.conf,增加下面配置

  • postgresql.conf
listen_addresses = '*'
  • pg_hba.conf
host all all 0.0.0.0/0 md5

为账号postgres设置密码

su postgres
psql
alter role postgres with password 'postgres';

image.png
PostgreSql默认使用5432端口,故还需要防火墙开放该端口权限

firewall-cmd --permanent --add-port=5432/tcp

重启服务

systemctl restart firewalld
systemctl restart postgresql-14

Docker中安装PostgreSql

如果只是为了学习PostgreSql,使用Docker不失为一个好主意。

pull镜像

docker pull postgres

运行PostgreSql镜像

docker run --name postgresql -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgres