Linux系统之安装PostgreSQL数据库

这篇具有很好参考价值的文章主要介绍了Linux系统之安装PostgreSQL数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、PostgreSQL介绍

1.PostgreSQL简介

PostgreSQL (也叫 Postgres) 是一个自由的对象 - 关系数据库服务器 (数据库管理系统),它在灵活的 BSD - 风格许可证下发行。它提供了相对其他开放源代码数据库系统 (比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server 的一种选择。

2.PostgreSQL特点

  • 它是ORDBMS(面向对象的关系数据库管理系统)。
  • 外键引用完整性
  • 用户自定义的类型
  • 表的继承性
  • 视图、规则、子查询
  • 多版本并发控制(MVCC)
  • 复杂的锁定机制
  • 异步复制
  • 流式复制(从9.0开始)
  • 嵌套事务(保存点)

二、本次实践介绍

1.本次实践介绍

从小白视角,以最快速度在LInux系统上部署一个简单的PostgreSQL数据库。

2.实践环境介绍

hostname IP地址 操作系统版本 PostgreSQL版本
jeven 192.168.3.166 centos 7.6 13.10

三、配置PostgreSQL的yum仓库源

1.检查本地是否部署PostgreSQL

检查本地环境是否部署过PostgreSQL

[root@jeven ~]# rpm -qa | grep postgres
[root@jeven ~]# 

2.配置镜像源

配置PostgreSQL的yum仓库源,使用的是阿里提供的镜像源。

[root@jeven ~]# rpm -Uvh https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Retrieving https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
warning: /var/tmp/rpm-tmp.kcnTVa: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:pgdg-redhat-repo-42.0-32         ################################# [100%]
[root@jeven ~]# sed -i "s@https://download.postgresql.org/pub@https://mirrors.aliyun.com/postgresql@g" /etc/yum.repos.d/pgdg-redhat-all.repo
[root@jeven ~]# 

sed -i "s@https://download.postgresql.org/pub@https://mirrors.aliyun.com/postgresql@g" /etc/yum.repos.d/pgdg-redhat-all.repo

生成缓存

yum clean cache
yum makecache

3.检查yum仓库镜像源状态

[root@jeven yum.repos.d]# yum repolist all |grep enable 
base/7/x86_64                             CentOS-7 - Base - mirr enabled: 10,072
docker-ce-stable/7/x86_64                 Docker CE Stable - x86 enabled:    211
elrepo                                    ELRepo.org Community E enabled:    157
epel/x86_64                               Extra Packages for Ent enabled: 13,770
extras/7/x86_64                           CentOS-7 - Extras - mi enabled:    515
mysql-connectors-community/x86_64         MySQL Connectors Commu enabled:    213
mysql-tools-community/x86_64              MySQL Tools Community  enabled:     96
mysql57-community/x86_64                  MySQL 5.7 Community Se enabled:    642
pgdg-common/7/x86_64                      PostgreSQL common RPMs enabled:    396
pgdg11/7/x86_64                           PostgreSQL 11 for RHEL enabled:  1,453
pgdg12/7/x86_64                           PostgreSQL 12 for RHEL enabled:  1,071
pgdg13/7/x86_64                           PostgreSQL 13 for RHEL enabled:    823
pgdg14/7/x86_64                           PostgreSQL 14 for RHEL enabled:    552
pgdg15/7/x86_64                           PostgreSQL 15 for RHEL enabled:    263
remi-safe                                 Safe Remi's RPM reposi enabled:  5,134
updates/7/x86_64                          CentOS-7 - Updates - m enabled:  4,857

四、安装PostgreSQL

1.安装PostgreSQL

使用yum直接PostgreSQL13的版本

[root@jeven yum.repos.d]# yum -y install postgresql13-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo: hkg.mirror.rackspace.com
 * remi-safe: ftp.riken.jp
Resolving Dependencies
--> Running transaction check
---> Package postgresql13-server.x86_64 0:13.10-1PGDG.rhel7 will be installed
--> Processing Dependency: postgresql13-libs(x86-64) = 13.10-1PGDG.rhel7 for package: postgresql13-server-13.10-1PGDG.rhel7.x86_64
--> Processing Dependency: postgresql13(x86-64) = 13.10-1PGDG.rhel7 for package: postgresql13-server-13.10-1PGDG.rhel7.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: postgresql13-server-13.10-1PGDG.rhel7.x86_64
--> Running transaction check
---> Package postgresql13.x86_64 0:13.10-1PGDG.rhel7 will be installed
---> Package postgresql13-libs.x86_64 0:13.10-1PGDG.rhel7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================
 Package                                  Arch                        Version                                   Repository                   Size
==================================================================================================================================================
Installing:
 postgresql13-server                      x86_64                      13.10-1PGDG.rhel7                         pgdg13                      5.4 M
Installing for dependencies:
 postgresql13                             x86_64                      13.10-1PGDG.rhel7                         pgdg13                      1.4 M
 postgresql13-libs                        x86_64                      13.10-1PGDG.rhel7                         pgdg13                      385 k

Transaction Summary
==================================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 7.1 M
Installed size: 31 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/pgdg13/packages/postgresql13-libs-13.10-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Public key for postgresql13-libs-13.10-1PGDG.rhel7.x86_64.rpm is not installed
(1/3): postgresql13-libs-13.10-1PGDG.rhel7.x86_64.rpm                                                                      | 385 kB  00:00:00     
(2/3): postgresql13-13.10-1PGDG.rhel7.x86_64.rpm                                                                           | 1.4 MB  00:00:01     
(3/3): postgresql13-server-13.10-1PGDG.rhel7.x86_64.rpm                                                                    | 5.4 MB  00:00:02     
--------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                             2.6 MB/s | 7.1 MB  00:00:02     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Importing GPG key 0x442DF0F8:
 Userid     : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
 Fingerprint: 68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8
 Package    : pgdg-redhat-repo-42.0-32.noarch (installed)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : postgresql13-libs-13.10-1PGDG.rhel7.x86_64                                                                                     1/3 
  Installing : postgresql13-13.10-1PGDG.rhel7.x86_64                                                                                          2/3 
  Installing : postgresql13-server-13.10-1PGDG.rhel7.x86_64                                                                                   3/3 
  Verifying  : postgresql13-server-13.10-1PGDG.rhel7.x86_64                                                                                   1/3 
  Verifying  : postgresql13-13.10-1PGDG.rhel7.x86_64                                                                                          2/3 
  Verifying  : postgresql13-libs-13.10-1PGDG.rhel7.x86_64                                                                                     3/3 

Installed:
  postgresql13-server.x86_64 0:13.10-1PGDG.rhel7                                                                                                  

Dependency Installed:
  postgresql13.x86_64 0:13.10-1PGDG.rhel7                               postgresql13-libs.x86_64 0:13.10-1PGDG.rhel7                              

Complete!

2.初始化数据库

初始化PostgreSQL数据库

[root@jeven ~]# postgresql-13-setup initdb
Initializing database ... OK

3.启动PostgreSQL数据库

启动PostgreSQL数据库,并设置开机自启。


[root@jeven ~]# systemctl enable postgresql-13
[root@jeven ~]# systemctl start postgresql-13
[root@jeven ~]# 

4.检查PostgreSQL数据库状态

检查当前PostgreSQL服务状态

[root@jeven ~]# systemctl status postgresql-13.service 
● postgresql-13.service - PostgreSQL 13 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-03-27 21:07:33 CST; 1min 34s ago
     Docs: https://www.postgresql.org/docs/13/static/
  Process: 13256 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 13264 (postmaster)
    Tasks: 8
   Memory: 17.6M
   CGroup: /system.slice/postgresql-13.service
           ├─13264 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
           ├─13266 postgres: logger 
           ├─13268 postgres: checkpointer 
           ├─13269 postgres: background writer 
           ├─13270 postgres: walwriter 
           ├─13271 postgres: autovacuum launcher 
           ├─13272 postgres: stats collector 
           └─13273 postgres: logical replication launcher 

Mar 27 21:07:33 jeven systemd[1]: Starting PostgreSQL 13 database server...
Mar 27 21:07:33 jeven postmaster[13264]: 2023-03-27 21:07:33.325 CST [13264] LOG:  redirecting log output to logging collector process
Mar 27 21:07:33 jeven postmaster[13264]: 2023-03-27 21:07:33.325 CST [13264] HINT:  Future log output will appear in directory "log".
Mar 27 21:07:33 jeven systemd[1]: Started PostgreSQL 13 database server.

五、PostgreSQL的基本命令

1.查看PostgreSQL相关文件

检查PostgreSQL服务端的所有相关文件所在目录

rpm -ql postgresql13-server

linux安装postgresql,PostgreSQL,数据库,linux,postgresql

检查PostgreSQL客户端的所有相关文件所在目录

rpm -ql postgresql13

linux安装postgresql,PostgreSQL,数据库,linux,postgresql

2.PostgreSQL的相关命令

PostgreSQL的所有相关命令文件

[root@jeven ~]# /usr/pgsql-13/bin/
clusterdb                   pg_basebackup               pg_dumpall                  pg_test_timing              postmaster
createdb                    pgbench                     pg_isready                  pg_upgrade                  psql
createuser                  pg_checksums                pg_receivewal               pg_verifybackup             reindexdb
dropdb                      pg_config                   pg_resetwal                 pg_waldump                  vacuumdb
dropuser                    pg_controldata              pg_restore                  postgres                    
initdb                      pg_ctl                      pg_rewind                   postgresql-13-check-db-dir  
pg_archivecleanup           pg_dump                     pg_test_fsync               postgresql-13-setup 

六、修改用户密码

1.切换postgres用户

切换postgres用户

[root@jeven ~]# su - postgres
-bash-4.2$ 

2.登录PostgreSQL数据库

登录后,提示符变为 ‘postgres=#’

[root@jeven ~]# su - postgres
-bash-4.2$ psql -U postgres
psql (13.10)
Type "help" for help.

postgres=# 

3.修改PostgreSQL数据库用户密码

修改PostgreSQL数据库用户密码


postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
ALTER ROLE

七、配置PostgreSQL远程访问

1.配置远程访问

修改/var/lib/pgsql/13/data/postgresql.conf配置文件,开启远程访问。
删除localhost,改为监听所有,或者自己指定的服务器IP地址。

-bash-4.2$ grep listen /var/lib/pgsql/13/data/postgresql.conf
listen_addresses = '*'		# what IP address(es) to listen on;

修改/var/lib/pgsql/13/data/pg_hba.conf文件,新增以下两行:

host    all            all      127.0.0.1/32      ident
host    all            all      0.0.0.0/0  md5

2.重启PostgreSQL服务

重启PostgreSQL服务

 systemctl restart postgresql-13.service 

3.远程连接PostgreSQL数据库

使用psql命令远程连接PostgreSQL数据库文章来源地址https://www.toymoban.com/news/detail-734726.html

[root@jeven ~]# psql -h192.168.3.166  -Upostgres -W
Password: 
psql (13.10)
Type "help" for help.

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

postgres=# 

到了这里,关于Linux系统之安装PostgreSQL数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • linux系统--------------mysql数据库管理

    linux系统--------------mysql数据库管理

    目录 一、SQL语句 1.1SQL语言分类 1.2查看数据库信息    1.3登录到你想登录的库 1.4查看数据库中的表信息 1.5显示数据表的结构(字段) 1.5.1数据表的结构 1.5.2常用的数据类型: 二、关系型数据库的四种语言 2.1DDL:数据定义语言,用于创建数据库对象,如库、表、索引等 2.1.1库

    2024年03月24日
    浏览(10)
  • Linux系统下操作Oracle数据库

    Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种

    2023年04月08日
    浏览(40)
  • Linux高级管理--安装MySQL数据库系统

    Linux高级管理--安装MySQL数据库系统

            MySQL.是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使 用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySOL项目由MySQL AB公司进行开发,发布和支持,之后历经Sun 公司收购MySOL AB公司,Oracle公司收购Sun公司 的

    2024年02月04日
    浏览(30)
  • Linux系统安装mysql数据库(超详细)

    目录 1、准备阶段         2、具体步骤 2.1、卸载mariadb 2.2、上传mysql并解压 2.3、安装mysql 2.4、查看版本 2.5、启动mysql服务 2.6、登录mysql 2.7、修改密码 2.8、配置mysql远程访问 2.9、修改编码 3、卸载mysql 3.1、查看mysql的安装情况  3.2、删除安装包  3.3、在/根目录下查询mysql

    2024年02月12日
    浏览(10)
  • c++ mysql数据库编程(linux系统)

    c++ mysql数据库编程(linux系统)

    ubuntu安装mysql(图文详解)-CSDN博客 https://blog.csdn.net/qq_58158950/article/details/135667062?spm=1001.2014.3001.5501 //打印错误信息  这段代码是一个宏定义,它定义了一个名为 LOG 的宏。 __FILE__  是一个预定义宏,它会在编译时被替换为当前源文件的文件名(包括路径)。 __LINE__  也是一个

    2024年01月21日
    浏览(13)
  • Linux系统中MySQL 数据库的主从同步

    在主数据库服务器上配置: 编辑主数据库服务器的配置文件(my.cnf) : 打开 MySQL 配置文件,一般路径为 /etc/my.cnf 或 /etc/mysql/my.cnf。 确保以下参数已启用或配置正确: 注: 一定是[mysqld]代码块中 创建用于复制的用户 : 登录到 MySQL 控制台: mysql -u root -p 创建用于复制的用户

    2024年03月23日
    浏览(11)
  • Linux系统MySQL数据库的备份及应用

    Linux系统MySQL数据库的备份及应用

    本节主要学习了MySQL数据库的备份:概念,数据备份的重要性,造成数据丢失的原因,备份的类型,常见的备份方法,实例与应用等。 目录 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 1、物理与逻辑角度 ①物理备份—对数据库操作系统的物理文件

    2024年02月15日
    浏览(15)
  • linux系统SQL server数据库定时收缩

    linux系统SQL server数据库定时收缩

    出现下图问题,导致连接该数据库的程序不能正常启动 定时收缩数据库 需要三个脚本文件 linux_sqlcmd_timing_task_shrink.sh:主脚本文件 exec_sql.sh:执行数据库收缩脚本文件 shrink.sql:数据库收缩命令

    2024年02月06日
    浏览(12)
  • 如何在Linux系统中安装MySQL数据库

    如何在Linux系统中安装MySQL数据库

    (一)、准备 1、Linux环境 视频教程:https://www.bilibili.com/video/BV15m4y1d7ZP 2、检查内存 5.6及以上版本的MySQL要求Linux系统虚拟内存不能小于1G,否则MySQL可能无法运行。 3、卸载mariadb (二)、安装 1、下载 下载地址:https://mirrors.aliyun.com/mysql/MySQL-8.0,这里下载mysql-8.0.28-el7-x86_64.

    2024年02月04日
    浏览(10)
  • Linux中常用数据库管理系统之MariaDB

    Linux中常用数据库管理系统之MariaDB

    我们生活在信息化时代,经常要跟数据打交道,它在我们的日常生活中无处不在,比如手机支付,微信聊天,淘宝购物,使用的这些在后台都会对应一个叫数据库的存在。数据库就是存储这些数据资料的仓库,那么这些数据是如何被管理的呢?今天我们就来一起了解下数据库

    2024年02月12日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包