ASCII码 ASCII码

【PostgreSQL】基于CentOS系统安装PostgreSQL数据库

发布于:2022-02-26 09:48:34  栏目:技术文档

一、参考链接

阿里巴巴开源镜像站-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数据库完成。

相关推荐
阅读 +