centos7 安装postgresql

1、验证环境

  • 操作系统 CentOS-7-x86_64-Everything-1511
  • postgresql版本 PostgreSQL 9.6.3:https://www.postgresql.org/download/linux/redhat/

2、安装

  • 安装rpm
    [root@psql_master ~]# yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
  • 安装客户端
    [root@psql_master ~]# yum install -y postgresql96
  • 安装服务器端
    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
    #同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成,需要进入数据库后修改;
    #PostgreSQL在数据库用户同名的系统账号下登录免密。
    [root@psql_master ~]# yum install -y postgresql96-server
  • 初始化
    [root@psql_master ~]# /usr/pgsql-9.6/bin/postgresql96-setup initdb
  • 设置开机启动
    [root@psql_master ~]# systemctl enable postgresql-9.6
  • 启动
    [root@psql_master ~]# systemctl start postgresql-9.6

3、配置使用

  • 修改用户密码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
    [root@psql_master ~]# su - postgres
     
    #切换用户后,提示符变更为“-bash-4.2$”;
    #同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成;
    #PostgreSQL在数据库用户同名的系统账号下登录免密;
    -bash-4.2$ psql -U postgres
     
    #进入数据库后修改密码;
    postgres=# alter user postgres with password 'postgres@123'

  • 允许远程访问
    #配置文件中,默认只能本机访问postgresql;
    #修改listen_addresses = 'localhost'为listen_addresses = '*',允许所有远程访问;
    #修改配置文件需要重启服务。
    [root@psql_master ~]# sed -i "s|#listen_addresses = 'localhost'|listen_addresses = '*'|g" /var/lib/pgsql/9.6/data/postgresql.conf
  • 主机认证
    #在第82行之后,”IPv4 local connections”下新增允许的客户端;
    #“host” 代表主机类型,第一个“all”代表db ,第二个“all”代表user ,“172.29.3.67/32” 代表client ip,“trust”代表认证方式;
    #认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等,具体可参考pg-hba文件: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
    #修改pg.hba文件需要重启服务。
    [root@psql_master ~]# vim /var/lib/pgsql/9.6/data/pg_hba.conf
    host    all             all             172.29.3.67/32          trust

  • 设置环境变量
    [root@psql_master ~]# vim /etc/profile
    export PATH=$PATH:/usr/pgsql-9.6/bin
    
    [root@psql_master ~]# source /etc/profile

  • 重启服务
    [root@psql_master ~]# systemctl restart postgresql-9.6
  • 防火墙添加5432端口
    开端口命令: firewall-cmd --zone=public --add-port=5432/tcp --permanent
    重启防火墙:systemctl restart firewalld.service

4、测试

  • 查看端口
    [root@psql_master ~]# netstat -tunlp
  • 创建用户
    postgres=# create user postuser1 with password 'user1@123';
  • 创建数据库
    postgres=# create database postdb1 owner postuser1; 同时制定数据库所有者
  • 数据库赋权
    postgres=# grant all privileges on database postdb1 to postuser1
    #未赋权则账户只能登录控制台

  • 登录新建数据库
    #在操作系统层使用新建的账号登录新建的数据库,登录后提示符为“postdb1=>”;
    #如果在postgres账户下直接使用“postgres=# \c postdb1;”登录,则登录用户依然是postgres,
    -bash-4.2$ psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432

  • 创建表
    postdb1=> create table tb1(
              id int primary key,
              name VARCHAR(20), 
              salary real
              );
  • 插入数据
    postdb1=> insert into tb1(
              id, name, salary)
              values(
              101, 'Mike', 5000.00
              );
  • 查询
    postdb1=>select * from tb1;

5、pgadmin连接postgresql

  • pgadmin下载地址:https://www.pgadmin.org/download/
  • 添加服务器

    打开pgadmin—>添加新的服务器—>(通常标签)名称自定义—>connection标签)主机名称与postgresql用户密码按需填写,其余可采用默认配置—>保存

    

 

 

  

 

 

  • 图形化查看

 

        

posted @   过氧化氢  阅读(389)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示