PostgreSQL01-安装

安装

安装更新源
yum  install  -y  https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

查看更新源
yum list | grep postgresql

安装postgresql
yum  install  -y  postgresql10-contrib postgresql10-server

初始化数据库

默认安装目录 /usr/pgsql-10
默认数据目录 /var/lib/pgsql/10/data
/usr/pgsql-10/bin/postgresql-10-setup initdb

修改默认数据目录

mkdir -p /pgdata/10/{data,backups,scripts,archive_wals}
chown -R postgres:postgres  /pgdata/10
chmod 0700 /pgdata/10/data

vim  /usr/lib/systemd/system/postgresql-10.service
Environment=PGDATA=/pgdata/10/data

查看帮助
/opt/pgsql/bin/initdb --help

/opt/pgsql/bin/initdb -D /pgdata/10/data -W

使用pg_ctl初始化
/opt/pgsql/bin/pg_ctl init -D /pgdata/10/data/ -o "-W"

使用官方yum源安装PostgreSQL时会自动创建/var/lib/pgsql/10 目录和它的两个子目录:data和backups
通过 service postgresql-10 init 命令会初始化/var/lib/pgsql/lO/data 目录作为数据目录
这样很方便,但是可定制性并不好,建议按照上面的步骤初始化数据目录

启动数据库并设置开机自启

systemctl start postgresql-10
systemctl enable postgresql-10

提示信息
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-10.service to /usr/lib/systemd/system/postgresql-10.service.

登陆postgresql并设置密码

postgresql在安装时默认添加用户postgres

su – postgres
psql

设置密码

ALTER  USER  postgres  WITH  PASSWORD '密码'

修改配置文件
默认postgresql不支持远程登陆
如果修改过pgdata的路径,文件位置与路径一致

vim /var/lib/pgsql/10/data/pg_hba.conf
原文件

2beb17acad8e490d913a0508f897c7cf.png

修改后文件

19f53b3614a688932fe25028c0fb0505.png

vim /var/lib/pgsql/10/data/postgresql.conf

原文件

1a67c6f67153ee6d47dbe4106c55ebe7.png

修改后文件

7c09792c5791b90b876bcb0998b46b7e.png

重启postgresql
systemctl restate postgresql-10

卸载

rpm -qa | grep postgresql

这个包被其他包依赖,卸载它,其他包也会被卸载
yum remove postgresql10-libs-10.13-1PGDG.rhel7.x86_64

rm -f /etc/init.d/postgresql-10

源码安装

准备编译环境

yum groupinfo "Development tools"
yum grouplist "Development tools"
yum install -y bison flex readline-devel zlib-devel

groupadd postgres
useradd postgres -g postgres
mkdir -p /var/lib/pgsql/9.6/data  
chown -R postgres:postgres /var/lib/pgsql/9.6/data

# 参考
pg_root 目录存放数据文件
pg_tbs   存放用户自定义表空间

设置postgres用户环境变量

vim /home/postgres/.bash_profile
export PGPORT=5432
export PGUSER=postgres
export PGDATA=/var/lib/pgsql/9.6/data
export LANG=en_US.utf8
export PGHOME=/usr/local/psql9.6
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH

安装

wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.gz
tar zxf postgresql-10.0.tar.gz
cd postgresql-10.0
./configure \
--prefix=/usr/local/pgsql9.6 \
--without-readline

make && make install

# 参考
gmake world
gmake install-world

安装,centos6.4开始,不支持这两个库,依据实际情况选择安装
./configure --without-readline --without-zlib

其他选项

--with-blocksize=BLOCKSIZE :指定数据文件的块大小,默认的是8K,在OLAP场景下可适当增至32K,OLTP场景下建议使用8K
--with-segsize=SEGSIZE :指定单个数据文件的大小,默认是1GB
--with-wal-blocksize=BLOCKSIZE :指定 WAL 文件的块大小,默认是 8kB
--with-wal-segsize=SEGSIZE :指定单个 WAL 文件的大小,默认是 16MB
这4个参数只能在编译的时候指定,所以在修改它们之前,请提前做好规划和严格的测试,否则后期想再做调整 ,只能将数据导出重新导人

初始化数据库

su - postgres
initdb -D /var/lib/pgsql/9.6/data -W

数据库启停

pg_ctl start/stop

使用pg_ctl管理数据库启停

su - postgres
启动/运行状态/停止
/opt/pgsql/bin/pg_ctl -D /pgdata/10/data start/status/stop -m STOP_MODE

-D 指定停止的数据库
-m 指定停止模式(简写 -ms -mf -mi)
        smart            模式会等待活动的事务提交结束,并等待客户端主动断开连接之后关闭数据库
        fast               模式则会回滚所有活动的事务,并强制断开客户端的连接之后关闭数据库
        immediate    模式立即终止所有服务器进程,当下一次数据库启动时它会首先进入恢复状态,一般不推荐使用

源码服务开机自启

yum安装的话,自动生成脚本,源码安装需要手动配置

拷贝源码脚本并重命名
cp /opt/postgresql-10.0/contrib/start-scripts/linux /etc/init.d/postgresql-10
chmod +x /etc/init.d/postgresql-10
chkconfg postgresql-10 on
checkconfig --list | grep postgresql-10

FAQ

常见错误解决方法
使用yum安装更新源时出现Loaded plugins: fastestmirror
解决办法:
1.修改插件配置文件
vim  /etc/yum/pluginconf.d/fastestmirror.conf

[main]
enabled=0   //由 1 改成0 ,禁用该插件

2.修改yum 配置文件
vim /etc/yum.conf
plugins=0  //不使用插件

3.清除缓存并重新构建yum 源
yum clean all
yum makecache

posted @   立勋  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示