Centos下安装postgreSQL

Posted 梦幻通灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos下安装postgreSQL相关的知识,希望对你有一定的参考价值。

最近北京yq严重,在家学习下postgreSQL ,本次使用的是 Centos 环境安装,记录下来,方便备查。

第一步、下载与安装

postgre 支持 windows 和 linux 两种系统,本次在linux环境安装。
下载地址:postgreSQL官网
在官网上选择 Linux系统,使用 yum来下载软件,只需选择对应版本和平台,即可生成下载和安装的脚本。

生成脚本如下所示。

// 下载
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
// 安装
yum install -y postgresql15-server
// 初始化数据库
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
// 设置开机启动
sudo systemctl enable postgresql-15

按照以上步骤安装即可,安装成功后,会创建 默认账户postgres默认数据库postgres,存储数据库的基础信息,其中会初始化超级用户postgres

第二步、配置数据库信息
1)修改密码
// 切换到postgres用户
su postgres
// 切换SQL模式
psql
// 修改密码
alter user postgres with password 'postgres123';
// 创建test用户
create user test with password 'test';
// 授权
grant all privileges on database mydb to test;
// 退出
\\q

为了可以通过Navicat等工具连接,可进行以下设置

2)配置远程访问

将5432端口添加到防火墙列表

// 打开防火墙端口
sudo firewall-cmd --add-port=5432/tcp --permanent
// 刷新防火墙
sudo firewall-cmd --reload
3)修改配置文件

修改监听地址为任意地址,即修改postgresql.conf文件。

// 打开配置文件
vi /var/lib/pgsql/15/data/postgresql.conf
// 打开监听注释,监听地址改为*
listen_addresses = '*'
// 保存退出 esc
:wq

修改配置文件如下图所示。

允许所有IP访问,即修改 pg_hba.conf 文件

// 打开配置文件
vi /var/lib/pgsql/15/data/pg_hba.conf
// 新增一行,若连接不上则将 scram-sha-256修改为trust 信任模式
host  all  all 0.0.0.0/0 scram-sha-256
// 重启服务
sudo systemctl restart postgresql-15

配置文件新增如下图所示。

用Navicat连接数据库,连接信息如下图所示。

第三步、常用操作命令

数据库,即创建数据库,切换数据库等

// 切换到postgres用户
su postgres
// 创建数据库 mydb
create database mydb;
// 查看所有数据库
\\l
// 切换到mydb数据库
\\c mydb
// 删除
drop database mydb;

操作结果如下图所示。

数据表,即创建表,插入数据等

// 创建表
create table business_order(id serial primary key,order_no varchar(255),sku_name varchar(255));
// 插入数据
insert into business_order(order_no,sku_name)values('20221126000001','iphone14 plus');
// 查看表内容
select * from business_order;
// 查看表结构
\\d business_order
// 查看所有表,序列等
\\d

创建表语句与其他数据库语言类似,注意的是主键递增序列用 serialmysql 使用的是 auto_increment

查看表结构

第四步、数据库备份与还原

实际工作中会对数据库进行备份和还原,备份主要有三种格式
.bak 即压缩的二进制
.sql 即明文存储
.tar 即tarball压缩格式
数据库备份分单数据库备份,使用 pg_dump 命令;所有数据库备份,使用 pg_dumpall 命令。

// 切换到postgres用户
su postgres
// 单数据库备份-导出到当前目录
pg_dump mydb > mydb.bak
// 所有数据库备份,
pg_dumpall > backup.bak
// 整个数据库备份到指定位置
pg_dump -f /tmp/mydb.bak mydb
// 备份postgres数据库中business_order表
pg_dump -U postgres -f /tmp/mydb.sql -t business_order postgres
// 数据库恢复-直接恢复,注意先新增空数据库
psql -f /tmp/mydb.bak mydb
// 数据库恢复
pg_restore -U postgres -d business_order /temp/mydb.bak
// 查看目录
ls -l

执行结果如下图所示。

异常处理

1)Navicat连接报错
错误代码:authentication method 10 not supported
处理方案:在 pg_hba.conf 文件中可将新增的 0.0.0.0/0 的模式改为 trust

CentOS7下PostgreSQL安装

环境:CentOS 7
版本:postgresql11

  1. 安装repo源
    yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2.安装client、server

yum install postgresql11
yum install postgresql11-server

附带安装

yum install postgresql11-libs 
yum install postgresql11-contrib 
yum install postgresql11-devel

数据库初始化与设置自启动

/usr/pgsql-11/bin/postgresql-11-setup initdb

初始化数据库命令会在 /var/lib/pgsql 目录下创建名称为11文件夹,11为数据库版本
技术图片
启动postgresql

systemctl enable postgresql-11
systemctl start postgresql-11

3.配置
修改/var/lib/pgsql/11/data/postgresql.conf配置

listen_addresses = ‘*‘

pg_hba.conf配置

# IPv4 local connections:
#host    all             all             10.10.10.1/24            md5
host    all             apiuser         0.0.0.0/0  

参数说明:
host 参数表示安装PostgreSQL的主机
all 第一个all 表示该主机上的所有数据库实例
all 第二个all 表示所有用户
10.10.10.1/24 表示需要连接到主机的IP地址,32表示IPV4
md5 表示验证方式,MD5密码方式
修改配置后需重启postgresql-11服务:

systemctl restart postgresql-11

4.登录postgresql
用postgres账号登录centos7,并修改数据库用户密码

su - postgres
psql -U postgres
postgres=# password    
postgres=# select version(); #查看PG版本

postgresql基本操作
创建数据库

CREATE DATABASE apidb_test;

创建用户

CREATE USER apiuser CREATEDB LOGIN PASSWORD ‘123456‘;

将apidb_test所有权限赋给用户apiuser

GRANT ALL ON DATABASE apidb_test TO apiuser;

查看现有数据库和用户

postgres=# l
postgres=# du

删除DB

drop database dbtest;

删除用户

drop role testuser;

以上是关于Centos下安装postgreSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows下安装centos

如何在win10下安装centos

iperf在centos7 下安装

虚拟机最小化安装centos 7怎么安装桌面

centos7下安装oracle11,加载不出来第11步

Centos下安装snort