CentOS7安装并配置PostgreSQL

本文详细介绍了在CentOS系统上安装PostgreSQL数据库的过程,包括通过YUM源安装,初始化数据库,配置防火墙,创建用户和数据库,以及如何设置远程访问权限。通过修改配置文件postgresql.conf和pg_hba.conf,实现从任意IP地址的远程连接。

一、装数据库

yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
yum install -y postgresql96-server postgresql96-contrib
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl start postgresql-9.6
systemctl enable postgresql-9.6
firewall-cmd --add-service=postgresql --permanent
firewall-cmd --reload
su - postgres
psql -U postgres

创建用户并设置密码

create user 用户名 with password '密码';

查看用户

\du

修改用户密码

ALTER USER 用户名 with encrypted password '密码';

创建数据库,并指定数据库的拥有者

create database 数据库名 owner 用户名

赋予权限

grant all privileges on database 数据库名 to 用户名;

 

二、pgsql 远程访问         


postgresql安装完成后,不能远程访问,需要修改两个配置文件:

1.vim /var/lib/pgsql/9.6/data/postgresql.conf  

listen_addresses = '*'  #前面的注释#去掉,并把'localhost'该为 *;  

2.vim /var/lib/pgsql/9.6/data/pg_hba.conf

在该配置文件的 host    all             all             127.0.0.1/32            ident 行下添加以下配置,并注释该行

host    all    all    0.0.0.0/0    md5

如果限制某些ip的访问,可以将配置0.0.0.0设定为特定的IP值
host  all    all    192.168.56.0/24    md5

host  all    all    192.168.56.0/32    trust

说明: 允许网段 192.168.56.0 上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。
           数字24是子网掩码,表示允许192.168.56.0 到 192.168.56.255的计算机访问


输入systemctl restart postgresql-9.6.service并回车,重启服务。 

<think>嗯,用户想在CentOS 7安装配置PostgreSQL 10。首先,我需要确认安装步骤是否正确。根据之前的引用,用户提到了安装PostgreSQL 12和10的不同方法,但这里用户需要的是PostgreSQL 10。CentOS默认的仓库可能没有PostgreSQL 10,所以可能需要添加第三方仓库,比如PGDG。 首先,安装步骤应该包括添加PGDG仓库,然后使用yum安装。记得要初始化数据库,启动服务,设置开机启动。然后配置远程访问可能需要修改pg_hba.conf和postgresql.conf,比如监听地址和IP范围。另外,防火墙和SELinux的设置也不能忘记,否则可能导致连接问题。用户可能还需要创建用户和数据库,这部分也需要包括进去。还要注意,如果用户之前安装过其他版本的PostgreSQL,可能会有冲突,需要检查是否存在旧的数据目录或服务。另外,修改systemd服务的PGDATA路径时,要确保目录权限正确,比如引用[2]中提到的修改环境变量。最后,测试远程连接是否成功,可能需要使用psql或者客户端工具。用户可能遇到的问题包括权限错误、配置错误或者端口未开放,需要给出相应的解决建议。整个过程要详细但清晰,分步骤说明,确保用户能顺利安装配置。</think>### CentOS 7安装配置PostgreSQL 10分步指南 1. **添加官方仓库** ```bash sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ``` 安装PostgreSQL官方仓库源文件[^1] 2. **执行安装命令** ```bash sudo yum install -y postgresql10-server postgresql10 ``` 3. **初始化数据库** ```bash sudo /usr/pgsql-10/bin/postgresql-10-setup initdb ``` 4. **启动设置服务** ```bash sudo systemctl enable postgresql-10 sudo systemctl start postgresql-10 ``` 5. **配置远程访问(可选)** 修改配置文件路径: ```bash /var/lib/pgsql/10/data/postgresql.conf /var/lib/pgsql/10/data/pg_hba.conf ``` 具体修改项: - 在`postgresql.conf`中设置: $$ listen_addresses = '*' $$ - 在`pg_hba.conf`末尾添加: $$ host all all 0.0.0.0/0 md5 $$ 6. **防火墙设置** ```bash sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload ``` 7. **SELinux配置** ```bash sudo semanage port -a -t postgresql_port_t -p tcp 5432 ``` 8. **数据库管理命令** ```bash sudo -i -u postgres psql \password # 修改密码 CREATE DATABASE mydb; # 创建数据库 CREATE USER myuser WITH PASSWORD 'mypass'; # 创建用户 ``` **注意:** 若需要自定义数据存储路径,需修改systemd服务文件[^2]: ```bash sudo vi /usr/lib/systemd/system/postgresql-10.service ``` 修改`Environment=PGDATA=/your/custom/path`确保目录权限正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值