首页 > 数据库 >postgresql13 rpm方式安装

postgresql13 rpm方式安装

时间:2022-11-01 10:56:53浏览次数:47  
标签:opt 13 postgres rpm postgresql13 root 安装 localhost log

环境:
OS:Centos 7
DB:13.8

 

1.介质下载

可以到官网下载相应版本的rpm介质
我这里下载的如下介质
[root@localhost pg]# ls -lrt
total 7968
-rw-r--r--. 1 root root 1481300 Oct 31 05:29 postgresql13-13.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 628384 Oct 31 05:30 postgresql13-contrib-13.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 392816 Oct 31 05:30 postgresql13-libs-13.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 5649556 Oct 31 05:30 postgresql13-server-13.8-1PGDG.rhel7.x86_64.rpm

 

2.创建用户
[root@localhost opt]# groupadd postgres
[root@localhost opt]# useradd -g postgres postgres

 

3.安装系统依赖包
yum install libxslt
yum install perl
这些包在操作系统的介质里可以找得到,修改yum指向本地光盘挂载目录即可安装

 

4.安装pg
rpm -ivh postgresql13-libs-13.8-1PGDG.rhel7.x86_64.rpm
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh postgresql13-13.8-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql13-server-13.8-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql13-contrib-13.8-1PGDG.rhel7.x86_64.rpm

 

libicu下载地址为:
http://mirror.centos.org/centos/7/os/x86_64/Packages/libicu-50.2-4.el7_7.x86_64.rpm

 

默认postgreql 安装在/usr/pgsql-13
数据存储目录:/var/lib/pgsql/版本号/data,
在实际生产中/var可能存在硬盘空间不足的问题,我们一般将数据存储目录放在挂载的硬盘如/data下

5.创建数据存储目录
[root@localhost bin]#mkdir -p /opt/pg13/data
[root@localhost bin]#mkdir -p /opt/pg13/log
[root@localhost bin]#mkdir -p /opt/pg13/archivelog
[root@localhost bin]#chown -R postgres:postgres /opt/pg13
[root@localhost bin]#chmod 0700 /opt/pg13/data

 

6.初始化数据库
su - postgres
/usr/pgsql-13/bin/initdb -D /opt/pg13/data

 

7.修改启动参数
su - root
[root@localhost postgresql-13.service.d]# ls -al /usr/lib/systemd/system/postgresql-13.service
-rw-r--r--. 1 root root 1764 Aug 10 06:06 /usr/lib/systemd/system/postgresql-13.service

 

vi /usr/lib/systemd/system/postgresql-13.service
修改为Environment=PGDATA=/opt/pg13/data/

 

8.修改配置参数postgresql.conf
su - postgres
vi /opt/pg13/data/postgresql.conf
修改的内容如下:

 

listen_addresses='*'
port=5432
max_connections=1000
unix_socket_directories = '/tmp'

####内存相关#########
work_mem=10MB
maintenance_work_mem=2GB
max_locks_per_transaction=1024
max_wal_size=64GB
checkpoint_timeout=30min
checkpoint_completion_target=0.9
shared_buffers=RAM*0.25GB             #RAM指内存,最大设置为64GB
effective_cache_size=RAM*0.5GB    #RAM指内存(free -g)

##归档部分
wal_level=replica
archive_mode=on
archive_command = 'DATE=`date +%Y%m%d`;DIR="/opt/pg13/archivelog/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f'

######慢查询部分#####################
logging_collector=on
log_directory = '/opt/pg13/log'                  ##指定具体目录,否则会默认在pgdata目录下创建log目录
log_destination='stderr'
log_min_duration_statement=1000                  ##超过1秒的慢查询都会记录
log_filename = 'postgresql-%Y-%m-%d.log'
log_truncate_on_rotation = off                   ##是否覆盖
log_rotation_age = 1d                            ##每天生成
log_rotation_size = 10MB                         ##每个日志大小
#log_statement = all 和 log_min_duration_statement = 5000   
#根据需要两者设置其一即可
#如果两个都进行了配置默认所有SQL全部打印,log_min_duration_statement设置失效
##log_statement = all                              #需设置跟踪所有语句,否则只能跟踪出错信息
log_line_prefix='%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
wal_log_hints=on
full_page_writes=on

##时区
log_timezone = 'Asia/Shanghai'
timezone = 'Asia/Shanghai'

 

9.修改配置参数pg_hba.conf
su - postgres
vi /opt/pg13/data/pg_hba.conf

# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5

 

10.设置postgres用户环境变量

su - postgres

[postgres@localhost ~]$ more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PGHOME=/usr/pgsql-13
PGDATA=/opt/pg13/data
PATH=$PGHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

export PATH
export PGHOST=/tmp ##因为参数unix_socket_directories = '/tmp' 设置在tmp目录

 

11.启动数据库
[root@localhost pgsql-13]#systemctl daemon-reload
[root@localhost pgsql-13]#systemctl start postgresql-13
[root@localhost pgsql-13]#systemctl enable postgresql-13

10.登录并修改postgres账号的密码
su - postgres
[postgres@localhost ~]$ psql -h localhost -U postgres -p5432
psql (13.8)
Type "help" for help.

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

 

客户端连接需要关闭服务器防火墙
[root@localhost log]# systemctl stop firewalld.service

12.检查常用的扩展是否已经安装
[postgres@localhost ~]$ psql -h localhost -U postgres -p5432
psql (13.8)
Type "help" for help.
postgres=# create extension postgres_fdw;
CREATE EXTENSION
postgres=# create extension dblink;
CREATE EXTENSION

说明这两个默认扩展是已经安装了的.

 

13.尝试使用命令行启动关闭数据库
yum安装的默认启动和关闭数据库可以使用systemctl操作的,下面我们尝试使用命令的方式启动和关闭
[root@localhost log]# systemctl stop postgresql-13
方法1:
su - postgres
[postgres@localhost ~]$ pg_ctl -D /opt/pg13/data -l /opt/pg13/log/postgres.log start
[postgres@localhost ~]$ pg_ctl -D /opt/pg13/data -l /opt/pg13/log/postgres.log stop

方法2:
su - postgres
后台启动
/usr/pgsql-13/bin/postmaster -D /opt/pg13/data/ &
关闭
pg_ctl -D /opt/pg13/data -l /opt/pg13/log/postgres.log stop

 

################################安装postgis扩展#########################

1.安装相关依赖yum
[root@localhost]#yum install epel-release
[root@localhost]#yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2.查看postgis个版本
yum list postgis*

3.我们这里安装32版本
这里可以查看pg版本可以安装那个postgis的版本对应关系
https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS
我这里选择安装32-13版本,32代表的是postgis版本,13代表的是pg版本
yum install postgis32_13.x86_64

安装过程可以看到安装很多的依赖包:
Install 1 Package (+81 Dependent packages)

 

4.查看安装版本信息

[root@localhost yum.repos.d]# rpm -qi postgis32_13
Name        : postgis32_13
Version     : 3.2.3
Release     : 1.rhel7
Architecture: x86_64
Install Date: Mon 31 Oct 2022 10:39:51 PM EDT
Group       : Unspecified
Size        : 36912353
License     : GPLv2+
Signature   : DSA/SHA1, Mon 22 Aug 2022 03:50:51 AM EDT, Key ID 1f16d2e1442df0f8
Source RPM  : postgis32_13-3.2.3-1.rhel7.src.rpm
Build Date  : Mon 22 Aug 2022 03:50:46 AM EDT
Build Host  : koji-centos7-x86-64-pgbuild
Relocations : (not relocatable)
Vendor      : PostgreSQL Global Development Group
URL         : https://www.postgis.net/
Summary     : Geographic Information Systems Extensions to PostgreSQL
Description :
PostGIS adds support for geographic objects to the PostgreSQL object-relational
database. In effect, PostGIS "spatially enables" the PostgreSQL server,
allowing it to be used as a backend spatial database for geographic information
systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
follows the OpenGIS "Simple Features Specification for SQL" and has been
certified as compliant with the "Types and Functions" profile.
[root@localhost yum.repos.d]#

 

5.安装扩展

su - postgres
[postgres@localhost ~]$ psql -h localhost -U postgres -p5432
psql (13.8)
Type "help" for help

postgres=# create extension postgis;
CREATE EXTENSION
postgres=# create extension postgis_raster;
CREATE EXTENSION
postgres=# create extension postgis_topology;
CREATE EXTENSION
postgres=# create extension postgis_sfcgal;
CREATE EXTENSION
postgres=# create extension fuzzystrmatch;
CREATE EXTENSION
postgres=# create extension address_standardizer;
CREATE EXTENSION
postgres=# create extension address_standardizer_data_us;
CREATE EXTENSION
postgres=# create extension postgis_tiger_geocoder;
CREATE EXTENSION

 

6.验证是否安装成功
##查看版本,验证安装是否成功
postgres=# SELECT PostGIS_full_version();

 

7.查看当前数据库安装的组件

postgres=# \dx
List of installed extensions
             Name             | Version |   Schema   |                                                     Descriptio
n                                                     
------------------------------+---------+------------+---------------------------------------------------------------
------------------------------------------------------
 address_standardizer         | 3.2.3   | public     | Used to parse an address into constituent elements. Generally 
used to support geocoding address normalization step.
 address_standardizer_data_us | 3.2.3   | public     | Address Standardizer US dataset example
 dblink                       | 1.2     | public     | connect to other PostgreSQL databases from within a database
 fuzzystrmatch                | 1.1     | public     | determine similarities and distance between strings
 plpgsql                      | 1.0     | pg_catalog | PL/pgSQL procedural language
 postgis                      | 3.2.3   | public     | PostGIS geometry and geography spatial types and functions
 postgis_raster               | 3.2.3   | public     | PostGIS raster types and functions
 postgis_sfcgal               | 3.2.3   | public     | PostGIS SFCGAL functions
 postgis_tiger_geocoder       | 3.2.3   | tiger      | PostGIS tiger geocoder and reverse geocoder
 postgis_topology             | 3.2.3   | topology   | PostGIS topology spatial types and functions
 postgres_fdw                 | 1.0     | public     | foreign-data wrapper for remote PostgreSQL servers
(11 rows)

 

标签:opt,13,postgres,rpm,postgresql13,root,安装,localhost,log
From: https://www.cnblogs.com/hxlasky/p/16846972.html

相关文章

  • git和github新手安装使用教程(三步入门)
    git和github新手安装使用教程(三步入门)对于新手来说,每次更换设备时,github的安装和配置都会耗费大量时间。主要原因是每次安装时都只关心了【怎么做】,而忘记了记住【为什么......
  • CS安装卸载测试总结
    最近在执行C/S控制客户端安装卸载的测试,通过自己的测试经历和网上的资料,总结以下安装卸载测试点:安装测试:1、GUI测试:安装过程中所有的界面显示,提示信息等是否正......
  • 在pycharm中如果PIP不能使用了如何安装别的软件
    例如:1、下载xadmin,下载地址:https://github.com/sshwsfc/xadmin2、下载后解压,打开文件夹,shift+右击,选择“在此处打开powershell窗口”   3、命令行输入“pythonset......
  • ubuntu20.04下安装ns3.30
    装环境装的战战兢兢,记录一下以备不时之需安装版本:ubuntu20.04python3.8.10ns3.30.1 安装依赖参考官网说明:https://www.nsnam.org/wiki/Installation#Prerequisi......
  • win10卸载office提示:安装程序包的语言不受系统支持 的解决方法
    win10卸载office提示:安装程序包的语言不受系统支持的解决方法安装程序包的语言不受系统支持 表明有office的注册表未卸载干净。下载该软件运行可卸载:通过百度网盘分......
  • 速记MBR硬盘,BIOS安装的Win7,EFI安装Ubuntu后如何引导双系统
    前言本文没有图,截图不方便,虚拟机复现可以但是不想开本以为折腾实在不行了,用BIOS启动重装一次Ubuntu环境MBR硬盘EFIWin7拓展分区SwapEFIbyUbuntuUbuntu......
  • win11的go安装
    背靠国外各大金主的go语言,在各种推动下,可谓是新的弄潮儿,但国内虽然各种推销,但从安装到开发再到维护,资料都少之又少,可能被垄断了解释权吧。因此下面的也只是一个记录而已,......
  • node.js的安装
    一、下载node.js的下载地址Download|Node.js(nodejs.org)根据使用系统,选择对应的安装包根据点击如下按钮可以选择历史版本进行下载二、安装下载好之后直接双击安......
  • 安装 Ubuntu 操作系统 16.04.5
    此时虚拟机已经自动开始安装系统了。。。。。。。。稍后一段时间。等待10分钟后,出现完毕界面:登录后,进行一些基础配置。比如切换到中文:请参考下面链接安装软件:终端打开后输......
  • Docker安装Redis
    一、Docker拉取redis镜像dockerpullredis:<latest>二、Docker挂载配置文件将redis的配置文件进行挂载,以配置文件方式启动redis容器(挂载:将宿主机的文件和容器内部目录......