暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【DB宝67】使用yum来安装PostgreSQL13.3数据库

DB宝 2021-08-13
432

目录

    1、安装概述
    2、yum在线安装
    3、初始化PG,并启动PG
    4、修改密码
    5、开放防火墙
    6、配置允许PG远程登录
    7、登陆测试


    1、安装概述

    PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。

    https://www.postgresql.org/

    https://yum.postgresql.org/rpmchart.php

    https://yum.postgresql.org/11/redhat/rhel-6-x86_64/repoview/postgresqldbserver11.group.html

    https://www.postgresql.org/ftp/source/

    打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux、Windows、Mac OS等 。

    各个安装包:https://www.postgresql.org/ftp/source/

    Linux 我们可以看到支持 Ubuntu 和 Red Hat 等各个平台,点击具体的平台链接,即可查看安装方法:

    点击上图中的 file browser,我们还能下载 PostgreSQL 最新的源码。

    下载地址:

    https://www.postgresql.org/download

    https://yum.postgresql.org/repopackages.php

    文档:https://www.postgresql.org/download/linux/redhat/

    rpm下载:https://yum.postgresql.org/rpmchart/

    2、yum在线安装

     1-- 一些依赖包
    2yum install -y cmake make gcc zlib gcc-c++ perl readline readline-devel zlib zlib-devel \
    3perl python36 tcl openssl ncurses-devel openldap pam
    4
    5
    6-- 删除已存在的PG
    7yum remove -y postgresql* && rm -rf  /var/lib/pgsql && rm -rf  /usr/pgsql* && userdel -r postgres && groupdel postgres
    8yum install -y sysbench
    9
    10-- 安装yum源
    11yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    12# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    13
    14yum repolist all | grep pgdg
    15yum repolist enabled | grep pgdg
    16
    17-- 安装pg
    18yum install -y postgresql13 postgresql13-server
    19# yum install -y postgresql9.6 postgresql9.6-server
    20# yum install postgresql10-server postgresql10-contrib postgresql10 postgresql10.x86_64
    21
    22-- 验证
    23[root@lhrpg /]# rpm -aq| grep postgres
    24postgresql13-server-13.3-1PGDG.rhel7.x86_64
    25postgresql13-13.3-1PGDG.rhel7.x86_64
    26postgresql13-libs-13.3-1PGDG.rhel7.x86_64
    27
    28
    29-- 环境变量
    30echo "export PATH=/usr/pgsql-13/bin:$PATH" >> /etc/profile

    3、初始化PG,并启动PG

    1/usr/pgsql-13/bin/postgresql-13-setup initdb
    2systemctl enable postgresql-13
    3systemctl start postgresql-13
    4systemctl status postgresql-13

    4、修改密码

    1-- 本地登陆
    2su - postgres
    3psql
    4
    5-- 修改postgres密码
    6alter user postgres with encrypted password 'lhr'; 或 \password
    7select * from pg_tables;
    8select version();

    5、开放防火墙

    1-- 开放防火墙
    2firewall-cmd --add-port=5432/tcp --permanent
    3firewall-cmd --reload
    4firewall-cmd --list-port

    6、配置允许PG远程登录

     1-- 配置允许PG远程登录,注意版本:
    2cat >> /var/lib/pgsql/13/data/postgresql.conf <<"EOF"
    3listen_addresses = '*'
    4port=5432
    5unix_socket_directories='/var/lib/pgsql/13/data'
    6logging_collector = on
    7log_directory = 'pg_log'
    8log_filename = 'postgresql-%a.log'
    9log_truncate_on_rotation = on
    10EOF
    11
    12cat  << EOF > /var/lib/pgsql/13/data/pg_hba.conf
    13# TYPE  DATABASE    USER    ADDRESS       METHOD
    14local     all       all                    trust
    15host      all       all    ::1/128         trust
    16host      all       all   127.0.0.1/32     trust
    17host      all       all    0.0.0.0/0        md5
    18host   replication  all    0.0.0.0/0        md5
    19EOF
    20
    21systemctl restart postgresql-13

    7、登陆测试

    1-- 远程登陆
    2psql -U postgres -h 192.168.66.35 -d postgres -p54327
    3
    4-- 从Postgresql 9.2开始,还可以使用URI格式进行远程连接:psql postgresql://myuser:mypasswd@myhost:5432/mydb
    5psql postgresql://postgres:lhr@192.168.66.35:54327/postgres

    其中-h参数指定服务器地址,默认为127.0.0.1,默认不指定即可,-d指定连接之后选中的数据库,默认也是postgres,-U指定用户,默认是当前用户,-p 指定端口号,默认是"5432",其它更多的参数选项可以执行:./bin/psql --help 查看。

     1C:\Users\lhrxxt>psql -U postgres -h 192.168.66.35 -d postgres -p54327
    2Password for user postgres:
    3psql (13.3)
    4Type "help" for help.
    5
    6postgres=# select version();
    7                                                     version
    8------------------------------------------------------------------------------------------------------------------
    9 PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
    10(1 row)
    11
    12postgres=# \l
    13                                        List of databases
    14   Name    |  Owner   | Encoding |      Collate      |       Ctype       |   Access privileges
    15-----------+----------+----------+-------------------+-------------------+-----------------------
    16 postgres  | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 |
    17 template0 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +
    18           |          |          |                   |                   | postgres=CTc/postgres
    19 template1 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +
    20           |          |          |                   |                   | postgres=CTc/postgres
    21(3 rows)
    22
    23
    24postgres=# CREATE DATABASE lhrdb WITH OWNER=postgres ENCODING='UTF-8';
    25CREATE DATABASE
    26postgres=# \c lhrdb
    27You are now connected to database "
    lhrdb" as user "postgres".
    28lhrdb=#
    29lhrdb=# create table student (
    30lhrdb(#   id integer not null,
    31lhrdb(#   name character(32),
    32lhrdb(#   number char(5),
    33lhrdb(#   constraint student_pkey primary key (id)
    34lhrdb(# );
    35CREATE TABLE
    36lhrdb=#
    37lhrdb=# \d student
    38                 Table "
    public.student"
    39 Column |     Type      | Collation | Nullable | Default
    40--------+---------------+-----------+----------+---------
    41 id     | integer       |           | not null |
    42 name   | character(32) |           |          |
    43 number | character(5)  |           |          |
    44Indexes:
    45    "
    student_pkey" PRIMARY KEY, btree (id)
    46
    47
    48lhrdb=#
    49lhrdb=# INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');
    50INSERT 0 1
    51lhrdb=# SELECT * FROM student WHERE id=1;
    52 id |                name                | number
    53----+------------------------------------+--------
    54  1 | 张三                               | 1023
    55(1 row)
    56


    安装配置完成,若有不懂,可以私聊麦老师。

          

    本文结束。


    • 微信公众号:DB宝,作者:小麦苗,作者微信:db_bao

    • 作者博客地址:http://blog.itpub.net/26736162/

    • 作者QQ:646634621,QQ群:230161599、618766405
    • 提供Oracle OCP、OCM、高可用(rac+dg+ogg)、MySQL DBA和PostgreSQL DBA培训
    • 版权所有,欢迎分享本文,转载请保留出处

    • 若有侵权请联系小麦苗删除

      ★DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag
      ★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

      长按下图识别二维码,关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。


      文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论

      胡振兴
      关注
      暂无图片
      获得了135次点赞
      暂无图片
      内容获得74次评论
      暂无图片
      获得了72次收藏