快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → PostgreSQL 12.1 版本Linux平台安装方法

PostgreSQL 12.1 版本Linux平台安装方法

时间:2022-09-18 19:46:08人气:作者:快盘下载我要评论

PostgreSQL 12.1 版本Linux平台安装

今天应业务需求,在linux平台上安装了postgresql的一套环境,由于之前对postgresql不太了解,所以这里特地记录了一下安装过程。

文章整个安装过程比较干,纯步骤式的,如果觉得难以下咽,可以直接先点赞收藏,然后在有需要的时候翻出来看看即可。话不多说,开始上步骤。

01

安装前准备工作

环境介绍:

PostgreSQL版本12.0

1,源码下载 从官网下载一份源码即可

https://FTP.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz

2,基础环境配置(安装必要的依赖包)

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 bison flex 1

02

安装过程

1,新建用户&用户组&目录&权限

groupadd postgres

useradd postgres -g postgres -d /home/postgres

mkdir -p /usr/local/pgsql

chown -R postgres:postgres /usr/local/pgsql

2,编译,其中${port}代表端口号

./configure --prefix=/usr/local/pgsql --with-pgport=${port} --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=16

其中:

--prefix指定安装路径,

–-with选项是指安装本文件依赖的库文件,

--with-pgport指定端口号,如果编译进去,就是一个该端口号专用的包

gmake world && gmake install-world

cd contrib && make && make install

3,相关配置

加载动态库,将库目录加入到系统库文件检索路径中:

echo "/usr/local/pgsql/lib/" >> /etc/ld.so.conf

为方便使用psql命令,向/home/postgres/.bash_profile文件中加入以下内容:

echo 'PATH=$PATH:/usr/local/pgsql/bin/' >> /home/postgres/.bash_profile

创建数据目录并修改权限

mkdir -p /data1/pg${port}/

chown -R postgres:postgres /data1/pg${port}

chmod 0700 /data1/pg${port}

4、初始化数据文件,类似mysql的initialize

# 切换到postgres目录下面

su - postgres

echo "export PGDATA=/data1/pg${port}" >> ~/.bash_profile

echo "export PGPORT=${port}" >> ~/.bash_profile

initdb --pgdata=/data1/pg${port}/ --encoding=utf8 --locale=C --username=postgres

至此数据文件初始化完成,初始化完成之后,会提示进行实例启动:

The files belonging to this database system will be owned by user "postgres".

This user must also own the server process.

The database cluster will be initialized with locale "C".

The default text search configuration will be set to "english".

ta page checksums are disabled.

fixing permissions on existing directory /data1/pg30104 ... ok

creating subdirectories ... ok

selecting dynamic shared memory implementation ... posix

selecting default max_connections ... 100

selecting default shared_buffers ... 128MB

selecting default time zone ... Asia/Shanghai

creating configuration files ... ok

running bootstrap script ... ok

performing post-bootstrap initialization ... ok

syncing data to disk ... ok

initdb: warning: enabling "trust" authentication for local connections

You can change this by editing pg_hba.conf or using the option -A, or

--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

pg_ctl -D /data1/pg30104/ -l logfile start

这里我的端口是30104,所以可以直接用上面红色字体部分的命令进行启动。

03

主从复制搭建

主从复制的搭建过程,需要在主库和从库上分别进行操作,操作过程大概如下:

主库上:

1、初始化一个单实例,并启动。如上述安装步骤,这里不再赘述。

2、创建复制用户,用户名replica,密码是123456

create role replica login replication encrypted password '123456';

3、增加主从复制的权限 ,修改客户端认证文件/data1/pgxxxx/pg_hba.conf,增加下面的记录:

host replication replica xx.xx.xx.xx/32 md5

其中,xx.xx.xx.xx为从库IP地址,replica是复制用户

4、修改主库的启动配置文件/data1/pgxxxx/postgresql.conf:

listen_addresses = '*'                     
port = 30104
max_connections = 1000
superuser_reserved_connections = 10
full_page_writes = on
wal_log_hints = off
max_wal_senders = 50
hot_standby = on
log_destination = 'csvlog'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S'
log_rotation_age = 1d
log_rotation_size = 10MB
log_statement = 'mod'
log_timezone = 'PRC'
timezone = 'PRC'
unix_socket_directories = '/tmp'
shared_buffers = 20000MB
temp_buffers = 16MB
work_mem = 32MB
effective_cache_size = 2GB
maintenance_work_mem = 128MB
#max_stack_depth = 2MB
dynamic_shared_memory_type = posix
## PITR
full_page_writes = on
wal_buffers = 16MB
wal_writer_delay = 200ms
commit_delay = 0
commit_siblings = 5
wal_level = replica

5、重启主库这个单实例,让复制账号生效即可

pg_ctl -D /data1/pgxxxx/ restart

从库上:

1. 从库按照上述安装单实例的方法下载postgresql的软件包,安装完成后,不初始化,若已经初始化,清空data目录即可(不需要删除)

2. 拷贝主库数据目录到从库,

pg_basebackup -h xx.xx.xx.xx -p 30104 -U replica -F p -P -D /data1/pg30104/ -X stream

* 备注:

-h,主库主机,-p,主库服务端口;

-U,复制用户;

-F,p是默认输出格式,输出数据目录和表空间相同的布局,t表示tar格式输出;

-P,同--progress,显示进度;

-D,输出到指定目录;

* 因为主库采用的是md5认证,这里需要密码认证。

xx.xx.xx.xx代表主库IP,30104是我实验中的端口号。

3、从库配置文件

从库配置文件,可以直接复用主库,在主库配置文件基础上增加下面几项即可:

hot_standby = on

max_standby_streaming_delay = 30s

wal_receiver_status_interval = 10s

hot_standby_feedback = on

primary_conninfo = 'host=xx.xx.xx.xx port=xxxx user=replica password=123456 options=''-c wal_sender_timeout=5000'''

注意,从库配置文件中,直接在primary_conninfo里面写上连接主库的连接串即可。

4、在从库数据目录下创建文件standby.signal(重要),此文件用于标识从库

touch standby.signal

5. 启动从库服务

pg_ctl -D /data1/pg30104/ restart

6、配置完毕之后,可以在主库上使用命令查看从库了:

select * from pg_stat_replication;

相关文章

  • ssh登录linux

    ssh登录linux,上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在windows下ssh客户端主要有puTTY、Xshell、secureCR......
  • ubuntu安装nginx教程_ubuntu服务器安装教程

    ubuntu安装nginx教程_ubuntu服务器安装教程,1、切换到root用户安装 安装最好用root用户安装 不然很多文件权限的报错会让人崩溃...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。