Blogger Information
Blog 60
fans 0
comment 0
visits 66511
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
【PostgreSQL】基于CentOS系统安装PostgreSQL数据库
大宝
Original
949 people have browsed it

一、参考链接

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

postgresql镜像-postgresql下载地址-postgresql安装教程-阿里巴巴开源镜像站

PostGresql数据库Linux服务器安装-阿里云开发者社区 (aliyun.com)

二、PostgreSQL介绍

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。(——PostgreSQL_百度百科)

三、PostgreSQL安装

<font color=red>本实验基于CentOS 7.9系统进行演示操作</font>

  1. [root@postgresql ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.9.2009 (Core)

安装准备

  1. 修改主机名
  2. # hostnamectl set-hostname prostgresql
  3. 关闭防火墙
  4. # systemctl stop firewalld
  5. # systemctl disable firewalld
  6. 关闭SELinux安全模式
  7. # setenforce 0
  8. # getenforce
  9. 配置网络信息并测试连通性
  10. vim /etc/sysconfig/network-scripts/ifcfg-ens32
  11. 主要修改如下参数信息即可。
  12. BOOTPROTO=static
  13. ONBOOT=yes
  14. IPADDR=192.168.200.25
  15. PREFIX=24
  16. GATEWAY=192.168.200.1
  17. DNS1=192.168.200.1
  18. 按:wq保存退出。
  19. 重启网卡
  20. # systemctl restart network
  21. # ping bing.com
  22. 配置阿里云CentOS YUM源,加快镜像访问下载
  23. 参考链接:https://blog.csdn.net/qq_45392321/article/details/121450443
  24. # yum clean all
  25. # yum makecache
  26. # yum repolist
  27. 升级系统?
  28. # yum update
  29. 检查postgresql是否安装
  30. # rpm -qa | grep postgre
  31. 检查PostgreSQL 安装位置
  32. # rpm -qal | grep postgres
  33. 新增postgres用户组
  34. # groupadd postgres
  35. 新增postgres用户并且设置这个postgres用户属于创建的postgres用户组
  36. # useradd -g postgres postgres
  37. 修改postgres用户密码
  38. [root@postgresql ~]# passwd postgres
  39. Changing password for user postgres.
  40. New password:
  41. BAD PASSWORD: The password is a palindrome
  42. Retype new password:
  43. passwd: all authentication tokens updated successfully.
  44. [root@postgresql ~]#
  45. 重启系统
  46. reboot

1、查询并安装postgresql-server

  1. yum list | grep postgresql-server
  2. yum install -y postgresql-server.x86_64

image-20220224135741784

2、初始化postgresql-server数据库

<font color=red>service postgresql initdb</font>

  1. # service postgresql initdb
  2. Hint: the preferred way to do this is now "postgresql-setup initdb"
  3. Initializing database ... OK

3、启动postgresql服务并设置开机自启动

  1. systemctl start postgresql
  2. systemctl enable postgresql

4、查看postgresql服务状态

  1. systemctl status postgresql

5、查看服务进程信息

  1. [root@postgresql ~]# ps -ef | grep postgres
  2. postgres 1405 1 0 16:05 ? 00:00:00 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
  3. postgres 1406 1405 0 16:05 ? 00:00:00 postgres: logger process
  4. postgres 1408 1405 0 16:05 ? 00:00:00 postgres: checkpointer process
  5. postgres 1409 1405 0 16:05 ? 00:00:00 postgres: writer process
  6. postgres 1410 1405 0 16:05 ? 00:00:00 postgres: wal writer process
  7. postgres 1411 1405 0 16:05 ? 00:00:00 postgres: autovacuum launcher process
  8. postgres 1412 1405 0 16:05 ? 00:00:00 postgres: stats collector process
  9. root 1440 1131 0 16:07 pts/0 00:00:00 grep --color=auto postgres
  10. [root@postgresql ~]#

6、查看postgresql服务端口是否开启

  1. # ss -tunpl | grep postgres
  2. tcp LISTEN 0 128 127.0.0.1:5432 *:* users:(("postgres",pid=1349,fd=4))
  3. tcp LISTEN 0 128 [::1]:5432 [::]:* users:(("postgres",pid=1349,fd=3))
  4. [root@postgresql ~]#
  1. # netstat -tunpl | grep 5432
  2. tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1349/postgres
  3. tcp6 0 0 ::1:5432 :::* LISTEN 1349/postgres

四、测试连接

1、切换postgres用户

  1. [root@postgresql ~]# su postgres
  2. [postgres@postgresql root]$

2、连接数据库

  1. [root@postgresql ~]# su postgres
  2. [postgres@postgresql root]$ psql -U postgres
  3. could not change directory to "/root"
  4. psql (9.2.24)
  5. Type "help" for help.
  6. postgres=#
  7. # 使用 \l 用于查看已经存在的数据库:
  8. postgres=# \l
  9. List of databases
  10. Name | Owner | Encoding | Collate | Ctype | Access privileges
  11. -----------+----------+-----------+---------+-------+-----------------------
  12. postgres | postgres | SQL_ASCII | C | C |
  13. template0 | postgres | SQL_ASCII | C | C | =c/postgres +
  14. | | | | | postgres=CTc/postgres
  15. template1 | postgres | SQL_ASCII | C | C | =c/postgres +
  16. | | | | | postgres=CTc/postgres
  17. (3 rows)
  18. postgres=#
  19. # 进入命令行工具,可以使用 \help 来查看各个命令的语法
  20. postgres-# \help

3、创建数据库

  1. # 创建一个 runoobdb 的数据库
  2. postgres=# CREATE DATABASE xybdiy;
  3. CREATE DATABASE
  4. postgres=#
  5. # 使用 \c + 数据库名 来进入数据库
  6. postgres=# \c xybdiy
  7. You are now connected to database "xybdiy" as user "postgres".
  8. xybdiy=#

4、创建表格

  1. # 创建了一个表,表名为 COMPANY 表格,主键为 ID,NOT NULL 表示字段不允许包含 NULL 值
  2. xybdiy=# CREATE TABLE COMPANY(
  3. xybdiy(# ID INT PRIMARY KEY NOT NULL,
  4. xybdiy(# NAME TEXT NOT NULL,
  5. xybdiy(# AGE INT NOT NULL,
  6. xybdiy(# ADDRESS CHAR(50),
  7. xybdiy(# SALARY REAL
  8. xybdiy(# );
  9. NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "company_pkey" for table "company"
  10. CREATE TABLE
  11. # 使用 \d 命令来查看表格是否创建成功
  12. xybdiy=# \d
  13. List of relations
  14. Schema | Name | Type | Owner
  15. --------+---------+-------+----------
  16. public | company | table | postgres
  17. (1 row)
  18. xybdiy=# CREATE TABLE DEPARTMENT(
  19. xybdiy(# ID INT PRIMARY KEY NOT NULL,
  20. xybdiy(# DEPT CHAR(50) NOT NULL,
  21. xybdiy(# EMP_ID INT NOT NULL
  22. xybdiy(# );
  23. NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "department_pkey" for table "department"
  24. CREATE TABLE
  25. xybdiy=# \d
  26. List of relations
  27. Schema | Name | Type | Owner
  28. --------+------------+-------+----------
  29. public | company | table | postgres
  30. public | department | table | postgres
  31. (2 rows)
  32. xybdiy=#

五、修改配置文件

1、修改postgresql的配置文件

  1. # vim /var/lib/pgsql/data/postgresql.conf
  2. # 修改监听IP
  3. listen_addresses = '*'
  4. # 打开日志采集器
  5. logging_collector = on
  6. # 设置日志目录
  7. log_directory = 'pg_log'

2、修改 pg_hba.conf 服务连接配置文件

  1. # vim /var/lib/pgsql/data/pg_hba.conf
  2. 77 # TYPE DATABASE USER ADDRESS METHOD
  3. 78
  4. 79 # "local" is for Unix domain socket connections only
  5. 80 local all all trust
  6. 81 # IPv4 local connections:
  7. 82 host all all 127.0.0.1/32 trust
  8. 83 host all all 0.0.0.0/0 trust
  9. 84 # IPv6 local connections:
  10. 85 host all all ::1/128 md5

3、重启postgresql服务

  1. # systemctl restart postgresql

五、测试远程连接

测试连接

image-20220225171841803

测试成功后,连接

image-20220225171804258

连接成功

image-20220225172044099

image-20220225172032907

至此,安装PostgreSQ数据库完成。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post