MySql和PostgreSql都是比较主流的开源关系型数据库,因为PostgreSql在数据分析方面提供了很多实用的函数而受到不少开发的欢迎,所以在自己电脑上也安装一个学习。
下载
我安装的是PostgreSql14:点击下载
# 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();
能看到下面的信息,说明数据库已经安装成功了。
使用客户端连接PostgreSql
对于大多数用户来说,使用Navicat、DBeaver这样的工具连接数据库使用才是常态,不可能在命令行进行操作。PostgreSql为了方便初始化数据库,在本机上使用默认账号postgres进行操作是无需密码的,同时也无法通过第三方的工具去连接,所以需要对数据库做一些配置。
修改配置
在目录/var/lib/pgsql/14/data
中找到配置文件postgresql.conf
和pg_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';
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