离线安装postgresql(.tar.gz方式)

创建postgres用户

groupadd postgres
useradd -g postgres postgres
cat /etc/passwd
cat /etc/group

上传postgresql-12.16.tar.gz

若无法使用winscp,xftp等传输工具,而能使用xshell可以使用xshell自带的上传工具

yum install -y lrzsz
rz -eb   #是上传 
sz 文件名 #是下载

解压postgresql-12.16.tar.gz并安装、授权数据库

tar -xzvf postgresql-12.16.tar.gz
mkdir -p /usr/local/postgres/
chown -R postgres:postgres /usr/local/postgres/
cd postgresql-12.16/

执行configure并指定安装目录

./configure --prefix=/usr/local/postgres
#编译安装大概率缺少依赖如果有现成yum源可以直接下载依赖
yum install -y readline-devel*
yum install zlib-devel*
#或者yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

编译安装

make make install

进入/usr/local/postgres目录授权

mkdir data chown -R postgres:postgres bin data include lib share

创建日志存储目录

mkdir -p /home/postgres/
touch /home/postgres/startup.log
chown -R postgres:postgres /home/postgres

初始化数据库

su postgres
/usr/local/postgres/bin/initdb -D /usr/local/postgres/data/
##/usr/local/postgres/bin/initdb -D /usr/local/postgres/data/ -E UTF-8 --locale=zh_CN.UTF-8

启动数据库

/usr/local/postgres/bin/pg_ctl start -D /usr/local/postgres/data/ -l /home/postgres/startup.log

添加环境变量

vim ~/.bash_profile #添加以下内容

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/postgres/bin
PGDATA=/usr/local/postgres/data

source ~/.bash_profile #刷新

配置用户可通过密码访问

vi /usr/local/postgres/data/pg_hba.conf
B11C5867-72BF-4059-BB94-A001B561495F.png

vi /usr/local/postgres/data/postgresql.conf
361FF0F9-6C61-4fed-A357-B9960F206B51.png

看实际情况是否需要开启日志,参考配置如下

#postgresql.conf需要修改的内容
logging_collector = on
log_directory = 'log'     #这样写log目录就一般在数据库data目录下
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

#日志轮转策略
log_rotation_age = 1d      
log_rotation_size = 10MB   
log_truncate_on_rotation = off  # 覆盖旧日志,看情况选择on/off

#SQL记录策略(yum下载后默认情况下是没开的,没有特定要求不开)
log_statement = 'ddl'        # 记录DDL操作
log_min_duration_statement = 3000  # 记录慢查询(≥3秒)

重启数据库

/usr/local/postgres/bin/pg_ctl restart -D /usr/local/postgres/data/ -l /home/postgres/startup.log

离线安装clickhouse(rpm方式)

官网下载rpm包

https://packages.clickhouse.com/rpm/stable/
ps.这个不行就去阿里云rpm包找
下载这三个包,注意版本要一致!
image-zsjx.png

按照以下顺序rpm安装

rpm -ivh clickhouse-common-static-21.4.7.3-2.x86_64.rpm
rpm -ivh clickhouse-server-21.4.7.3-2.noarch.rpm
rpm -ivh clickhouse-client-21.4.7.3-2.noarch.rpm

删除初始化设定的default密码,如果没有就不管

cd /etc/clickhouse-server/users.d/
rm -rf *

编辑用户配置文件

vi /etc/clickhouse-server/users.xml
这里可以调整最大使用内存,默认是10g
image-chrk.png
设置default用户的密码为woaikeqing
image-ysbb.png

配置外网访问

vi /etc/clickhouse-server/config.xml
取消注释,设置成如下图这样
image-ujsn.png
配置成上海时区
<timezone>Asia/Shanghai</timezone>
<max_connections>4096</max_connections>
<keep_alive_timeout>3</keep_alive_timeout>

image-uhme.png

启动数据库并登录

clickhouse start
用dbeaver土拨鼠数据库测试是否开放了外网访问
用户名default
密码woaikeqing
测试成功后再在Linux命令行执行以下命令
clickhouse-client
百分之99都会遇到如下图报错,因为我们已经修改了默认密码
image-htky.png
解决方法:clickhouse-client --user=default --password=woaikeqing --host=127.0.0.1 --multiline

离线安装postgresql(rpm方式)

直接去官网下载对应的rpm包

官网地址:https://yum.postgresql.org/12/redhat/rhel-7-x86_64/repoview/postgresqldbserver12.group.html
ps.这里我选择的是postgresql12,centos7-x86版本
下载这四个(同样注意下载后的小版本要一致)
image-hmxu.png

下载完成后上传到内网服务器然后开始按如下顺序rpm安装

rpm -ivh postgresql12-libs-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm

依赖缺少情况

目前个人只遇到两种,如若有其他的可以如法炮制,在网上寻找对应的rpm依赖包

postgresql12-12.15-1PGDG.rhel7.x86_64.rpm 失败,执行依赖缺失

image-zgvc.png
阿里云对应依赖包:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
执行后按照顺序重新安装即可

安装 postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm 失败,执行依赖缺失

error:Failed dependencies:
libxslt.sn.1()(64bit) is needed by.postgresql12-contrib-12.4-1PGDG.rhel7.x06_64
libxslt.so.1(LIBL2_1.0.11)(64bit) is needed by.postgresq112-contrb-12.4-1PGDG.rhe17.x00_04
libxslt.so.1(LIBXML2_1.0.18)(64bit) is needed by postgresq112-contrib-12.4-1PGDG.rhe17.x0_b4
libxslt.so.1(LIBXL2_1.0.22)(64bit) is needed by postgresq112-contrib-12.4-1PGDG.rhel7.x0b_64

阿里云对应依赖包:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libxslt-1.1.28-6.el7.x86_64.rpm
rpm -ivh libxslt-1.1.28-6.el7.x86_64.rpm
执行后按照顺序重新安装即可

安装完后初始化数据库

/usr/pgsql-12/bin/postgresql-12-setup initdb
启动服务
systemctl enable postgresql-12.service
systemctl start postgresql-12.service

配置远程访问

vi /var/lib/pgsql/12/data/postgresql.conf
取消如下图的注释
image-dtxc.png
vi /var/lib/pgsql/12/data/pg_hba.conf
加入87行,md5代表检测机制是密码检测
image-ryaq.png

创建postgres管理员密码

su -postgres
psql
alter user postgres with password 'woaikeqing';
关闭防火墙用连接工具测试即可
image-ncud.png