目录
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宝,学习最实用的数据库技术。
