- PostgreSQL修炼之道:从小工到专家(第2版)
- 唐成
- 893字
- 2021-04-04 13:59:05
2.1.1 Red Hat/CentOS下的安装方法
在Red Hat、CentOS下可使用yum工具来安装PostgreSQL,这些操作系统自带的软件库中已有PostgreSQL数据库,不过通常版本会低一些。本小节介绍安装官方提供的二进制包的方法。
在图2-1中,我们选择“Red Hat family Linux (including CentOS/Fedora/Scientific/Oracle variants)”,之后会出现一个选择界面,在该界面中选择数据库的版本、平台类型等信息后,就会出现具体的安装步骤的提示,如图2-2所示。
在图2-2中,我们选择数据库的版本、操作系统的版本或类型等信息后,就会出现安装方法:首先安装一个安装源,然后再从这个安装源中安装数据库程序。例如,在上面的例子中,安装一个安装源的命令如下。
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-Red Hat-repo-latest.noarch.rpm
安装完PostgreSQL的yum源后,通过“yum search postgresql”命令可以看到很多与PostgreSQL数据库相关的软件。
然后再从这个安装源中安装数据库程序。通常我们需要安装数据库服务端,命令如下:
yum install postgresql12-server
运行以上命令,PostgreSQL数据库的软件就安装完成了。
图2-2 PostgreSQL官方yum安装源
上面只是把软件装好了,并未创建数据库实例。创建数据库实例的命令如下:
/usr/pgsql-12/bin/postgresql-12-setup initdb
该数据库创建在“/var/lib/pgsql/12/data”目录下,同时会生成开机自启动的配置,我们可以通过下面的命令允许开机自启动PostgreSQL数据库:
systemctl enable postgresql-12
然后用操作系统的服务管理命令启动数据库:
systemctl start postgresql-12
Red Hat7.X/CentOS 7.X是用systemctl命令管理服务的,而更早的版本如Red Hat6.X/CentOS6.X是用service命令管理服务的:
service postgresql-12 start
可以用下面的命令查看数据库服务的状态:
systemctl status postgresql-12
可以用systemctl命令停止数据库:
systemctl stop postgresql-12
也可以使用下面的命令安装contrib包,contrib包中包含了一些插件和工具:
yum install postgresql12-contrib
默认情况下,PostgreSQL的数据目录在“/var/lib/pgsql/<verson>/data”目录下:
[root@pg01 ~]# ls -l /var/lib/pgsql/12/data total 64 drwx------ 5 postgres postgres 41 Feb 11 13:09 base -rw------- 1 postgres postgres 30 Feb 11 13:16 current_logfiles drwx------ 2 postgres postgres 4096 Feb 11 13:09 global drwx------ 2 postgres postgres 32 Feb 11 13:16 log drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_commit_ts drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_dynshmem -rw------- 1 postgres postgres 4269 Feb 11 13:09 pg_hba.conf -rw------- 1 postgres postgres 1636 Feb 11 13:09 pg_ident.conf drwx------ 4 postgres postgres 68 Feb 11 13:21 pg_logical drwx------ 4 postgres postgres 36 Feb 11 13:09 pg_multixact drwx------ 2 postgres postgres 18 Feb 11 13:16 pg_notify drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_replslot drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_serial drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_snapshots drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_stat drwx------ 2 postgres postgres 25 Feb 11 13:21 pg_stat_tmp drwx------ 2 postgres postgres 18 Feb 11 13:09 pg_subtrans drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_tblspc drwx------ 2 postgres postgres 6 Feb 11 13:09 pg_twophase -rw------- 1 postgres postgres 3 Feb 11 13:09 PG_VERSION drwx------ 3 postgres postgres 60 Feb 11 13:09 pg_wal drwx------ 2 postgres postgres 18 Feb 11 13:09 pg_xact -rw------- 1 postgres postgres 88 Feb 11 13:09 postgresql.auto.conf -rw------- 1 postgres postgres 26632 Feb 11 13:09 postgresql.conf -rw------- 1 postgres postgres 58 Feb 11 13:16 postmaster.opts -rw------- 1 postgres postgres 103 Feb 11 13:16 postmaster.pid
安装完后我们就可以用psql来连接数据库,首先用su命令切换到postgres用户下:
[root@pg01 ~]# su - postgres -bash-4.2$ psql psql (12.1) Type "help" for help. postgres=#
然后在psql中输入“\q”退出psql。