rockylinux9下安装postgresql及常用操作
创始人
2025-12-30 11:55:34
0

1、更新系统软件包

dnf update

2、安装PostgreSQL

dnf install postgresql-server

3、初始化数据库

postgresql-setup --initdb    #本质上是 initdb 的包装脚本

数据默认保存在文件夹/var/lib/pgsql/data

日志默认保存在文件/var/lib/pgsql/initdb_postgresql.log

4、启动postgresql服务

systemctl start postgresql
#systemctl stop postgresql
#systemctl enable postgresql
#systemctl disable postgresql
#systemctl restart postgresql

5、连接postgresql

sudo -u postgres psql  #进入postgresql,postgres为超级用户名
/*psql -U 用户名 -h 主机 -p 端口 -d 数据库  #进入postgresql
#在linux系统中,当linux当前用户与postgresql用户不一致时,会出现对等认证失败,
解决办法:一用上面方法;二改为密码认证(详见基本配置)*/
alter user postgres with password '密码';    #进入后可以修改密码
\q    #退出postgresql

6、开放端口

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

7、查看版本:postgres -V或postgres --version

8、基本配置

postgresql配置文件主要有两个,一般位于/var/lib/pgsql/data:

①postgresql.conf:核心配置文件,用于设置数据库服务的全局参数(如监听地址、端口号、最大连接数、日志配置等)

②pg_hba.conf:认证配置文件,用于控制客户端的访问权限和认证方式

(1)改变数据和日志保存位置

▲ 在初始化时指定数据目录和日志目录:

mkdir /data/pgsql
chown -R postgres /data/pgsql
sudo -u postgres initdb -D /data/pgsql/data #初始化数据目录

修改/usr/lib/systemd/system/postgresql.service如下:

Environment=PGDATA=/data/pgsql/data
systemctl daemon-reload

改变日志目录,修改配置文件postgresql.conf如下:

log_directory='/data/pgsql'

▲ 迁移数据目录和日志目录:

systemctl stop postgresql
rsync -av /var/lib/pgsql  /data/pgsql

修改/usr/lib/systemd/system/postgresql.service如下:

Environment=PGDATA=/data/pgsql/data
systemctl daemon-reload

修改配置文件postgresql.conf如下:

data_directory='/data/pgsql/data'
log_directory='/data/pgsql'

(2)配置远程访问

①编辑postgresql.conf文件:

listen_address='*'  #允许所有ip访问

②编辑pg_hba.conf文件:

host    all   all    0.0.0.0/0    md5    #允许所有ip通过密码访问,第一个all为所有数据库,第二个all为所有用户

(3)配置密码认证

编辑pg_hba.conf文件:

local    all    postgres   md5    #主要是把peer改为md5,md5也可以为scram-sha-256

9、常用操作

\l  #列出所有数据库

\c  #数据库:切换当前数据库

\q  #退出postgresql

show data_directory;    #显示当前数据目录

show log_directory;    #显示当前日志目录

create database abc;    #创建数据库

drop database abc;    #删除数据库

支持select 、insert into、delete、update等

不支持:show databases;、use 数据库

(1)备份与恢复单个数据库

pg_dump -U 用户名 -d 数据库 -f 备份文件  #备份
psql -U 用户名 -d 数据库 -f 备份文件  #恢复

(2)备份与恢复所有数据库

pg_dump -U 用户名  -f 备份文件  #备份
psql -U 用户名 -f 备份文件  #恢复


postgresql官方网站:https://www.postgresql.org/

上一篇:rockylinux 9中安装wireguard

下一篇:没有了

相关内容

热门资讯

centos7支持中文 1、使用locale命令查看当前使用的语言2、使用locale -a 查看安装的语言包,如果没有中文...
vcenter因证书问题无法上... 解决方法:导入root CA证书。主要操作步骤如下:1、下载root CA证书,并解压。2、右击5a...
mysql用户管理 1、新建用户create user username@host identified by 'pa...
mariadb galera ... mariadb server下载地址:https://mariadb.org/download/?...
rockylinux 9中安装... 1、开启ipv4内核转发vi /etc/sysctl.conf,加入:net.ipv4.ip_for...
esxi主机多链路设置注意事项 esxi主机多链路设置要在设置管理IP之前。否则删除链路后会出现无法连接esxi主机。
centos7 LVM(逻辑卷... 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它...
GlusterFS部署和使用 官方网站:https://www.gluster.org/install/一、GlusterFS安装...
linux(centos7)常... ip addr //查看IP设置IP:vi /etc/sysconfig/network-scrip...
redis出现报错:Error... 问题:redis出现报错:Error: 磁盘在使用中,或被另一个进程锁定解决方法1、在配置文件中修改...