首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CentOS7 部署 PostgreSQL

CentOS7 部署 PostgreSQL

作者头像
陳斯托洛夫斯記
发布于 2024-08-07 04:42:23
发布于 2024-08-07 04:42:23
21400
代码可运行
举报
文章被收录于专栏:XBDXBD
运行总次数:0
代码可运行

编译安装

创建用户和组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
useradd postgres
groupadd postgres
mkdir -pv /usr/local/postgresql/logs
mkdir -pv /data/postgres 
chown -R postgres.postgres /usr/local/postgresql/
chown -R postgres.postgres /data/postgres

编译安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./configure --prefix=/usr/local/postgresql/ --without-readline
make && make install

配置环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/porfile.d/postgresql.sh

export PGHOME=/usr/local/postgresql
export PGDATA=/data/postgres
export PGLIB=/usr/local/postgresql/lib
export PATH=$PGHOME/bin:$PATH

source /etc/porfile.d/postgresql.sh 

初始化数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su - postgres
initdb -D /data/postgres/

启动 postgresql

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pg_ctl -D /data/postgres/ -l /usr/local/postgresql/logs/logfile start

创建启动脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /usr/lib/systemd/system/postgresql.service

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking

User=postgres
Group=postgres

# Port number for server to listen on
Environment=PGPORT=5432

# Location of database directory
Environment=PGDATA=/data/postgres

# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog

# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000

#ExecStartPre=/usr/local/postgresql/bin/postgresql-check-db-dir ${PGDATA}
ExecStart=/usr/local/postgresql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
ExecStop=/usr/local/postgresql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/postgresql/bin/pg_ctl reload -D ${PGDATA} -s

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

脚本启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload
systemctl enable postgresql
systemctl start postgresql

配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 修改访问控制配置文件
vim /data/postgres/pg_hba.conf
	host	all		all		0.0.0.0/0		md5

# md5 表示加密方式,需要密码访问
# 加密方式:
ident:是Linux下PostgreSQL默认的local认证方式,凡是能正确登录服务器的操作系统用户(注:不是数据库用户)就能使用本用户映射的数据库用户不需密码登录数据库
trust:是只要知道数据库用户名就不需要密码或ident就能登录,建议不要在生产环境中使用
md5:是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户
password:是以明文密码传送给数据库,建议不要在生产环境中使用
reject:拒绝认证

# 修改主配置文件
vim /data/postgres/postgres.conf
	listen_addresses = "*"		# 改为*表示监听整个网络

连接数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# psql -U postgres 
[root@localhost ~]# psql -h 127.0.0.1 -d postgres -U postgres 			//默认登录名是postgres
[root@localhost ~]# alter user postgres with password '123456';			//设置数据库密码

yum 安装

安装源

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install http://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7.5-x86_64/pgdg-redhat-repo-42.0-11.noarch.rpm

安装服务端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install postgresql12-server

查看安装位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rpm -qal | grep postgresql 			# 默认安装在/var/lib/pgsql/11/data/目录下

安装客户端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install postgresql12

创建数据目录,修改权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -pv /data/pgsql/
mkdir /var/log/postgres
chown -R postgres.postgres /data/pgsql/
		
touch /var/log/postgres/postgres.log 
chown -R postgres.postgres /var/log/postgres

初始化数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su - postgres 
/usr/pgsql-11/bin/initdb -E UNICODE -D /data/pgsql/

修改配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 修改主配置文件
vim /mnt/data/postgresql.conf
	listen_addresses = '*'
	
# 修改访问控制配置文件
vim /mnt/data/pg_hba.conf
	host    all        all        0.0.0.0/0          md5
	
# 修改数据目录
vim /usr/lib/systemd/system/postgresql-12.service
	Environment=PGDATA=/data/pgsql/

启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl start postgresql-12

连接测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
psql -U postgres -h localhost -p 5432

常用操作命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 连接数据库
psql -U postgres -h localhost -p 5432
		
# 列出所有数据库
\l 
		
# 进入某个数据库
\c 数据库名
		
# 列出所有表
\d 
		
# 列出表结构
\d 表名
		
# 退出 
\q 
		
# 导出数据库 
pg_dump -U postgres -h localhost -p 5432 数据库名 > /path/to/name
		
# 删除数据库
drop database 数据库名
		
# 导入
psql -U postgres -h localhost -p 5432 数据库名 < /path/to/name 
		
		
# 创建用户和数据库并授权
create user 用户名 with password '密码';
create database "数据库名";
grant all privileges on database 数据库名 to 用户名;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-052,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PostgreSQL 12源码包部署及用户管理
时间序列数据库(Time Series Database)是用于存储和管理时间序列数据的专业化数据库,具备写多读少、冷热分明、高并发写入、无事务要求、海量数据持续写入等特点,可以基于时间区间聚合分析和高效检索,广泛应用在物联网、经济金融、环境监控、工业制造、农业生产、硬件和软件系统监控等场景。
没有故事的陈师傅
2022/02/09
9930
postgresql9.6 的安装
vim /etc/init.d/postgresql-9.6   修改下启动脚本里面的PGDATA路径:
保持热爱奔赴山海
2019/09/17
1.1K0
PostgreSQL 16数据库的各种安装方式汇总(yum、编译、docker等)
详细使用请参考:https://www.xmmup.com/dbbao69zaidockerzhongkuaisushiyonggegebanbendepostgresqlshujuku.html
AiDBA宝典
2023/09/19
7.7K0
PostgreSQL 16数据库的各种安装方式汇总(yum、编译、docker等)
PostgreSQL主备库搭建
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
雪人
2022/10/13
2.9K0
centos7安装postgres-10
https://yum.postgresql.org/repopackages.php
Ryan-Miao
2018/12/28
1.1K0
使用源码编译来安装PostgreSQL数据库(从PG9.4到PG16各个版本通用)
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2023/09/08
3K0
使用源码编译来安装PostgreSQL数据库(从PG9.4到PG16各个版本通用)
【Linux】PostgreSQL 主从模式部署(源码编译方式)
近期,笔者承接了在 Linux 操作系统下部署 PostgreSQL 主从模式的需求,且客户要求必须是非容器化部署。
行者Sun
2024/09/02
6540
【Linux】PostgreSQL 主从模式部署(源码编译方式)
Centos8-stream安装PostgreSQL13
一、安装postgresql13-server yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install -y postgresql13-server 二、初始化PostgreSQL 先创建postgresql储存目录 mkdir /home/pgsql-13 chmod 777 /home/pgsql-13
菲宇
2022/04/13
4420
Centos8-stream安装PostgreSQL13
【DB宝68】使用源码编译来安装PostgreSQL13.3数据库
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2021/08/25
9790
PostgreSQL数据库安装部署
[root@web1 ~]# cd /package/ [root@web1 package]# ls apache-tomcat-8.5.39.tar.gz  jdk-8u131-linux-x64.tar.gz  postgresql-10.5.tar.gz  redis-3.2.0.tar.gz [root@web1 package]#
星哥玩云
2022/08/18
3.7K0
Linux环境下PG 14的安装部署
https://yum.postgresql.org/14/redhat/rhel-7-x86_64/repoview/postgresqldbserver14.group.html
AiDBA宝典
2022/05/25
3.7K0
Linux环境下PG 14的安装部署
PostgreSQL 14.3 源码安装
http://postgres.cn/docs/14/install-procedure.html
用户8006012
2022/05/31
2.1K0
PostgreSQL入门
这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。
老马
2019/05/25
2K0
进阶数据库系列(二十五):PostgreSQL 数据库日常运维管理
这是个bug,版本升级后,pg_config改变了,会导致后面装外部extension时没有装到指定目录。
民工哥
2023/08/22
2K0
进阶数据库系列(二十五):PostgreSQL 数据库日常运维管理
部署postgresql 12.3
注: 若想添加为系统服务,使用systemctl指令来控制服务的启停,可以参考官方文档 (opens new window)。如下(个人觉得没必要配置):
章工运维
2023/05/19
4940
CentOS7 安装PostgreSQL
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/79627984
shaonbean
2019/05/26
6800
CentOS 7.9 安装 Postgresql 9.6
下面的步骤都是按照 9.6 版本进行安装的,如果时境过迁,9.6 也不支持了,只需要更改下面的版本号即可,将 9.6 版本改为你安装的版本,例如版本 10 ,只需要将下面所有的 9.6 改为 10 。
wsuo
2021/08/31
1.2K0
CentOS 7.9 安装 Postgresql 9.6
PostgreSQL 操作命令
认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等
Kevin song
2020/02/19
1.2K0
PostgreSQL 操作命令
使用yum来安装PostgreSQL数据库(从PG9.4到PG16各个版本通用)
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2023/09/19
4.9K0
使用yum来安装PostgreSQL数据库(从PG9.4到PG16各个版本通用)
用Keepalived实现PostgreSQL高可用
Keepalived可提供VRRP以及health-check功能,可以只用它提供双机浮动的vip(VRRP虚拟路由功能),这样可以简单实现一个双机热备高可用功能。
数据和云
2021/10/28
3.5K1
用Keepalived实现PostgreSQL高可用
相关推荐
PostgreSQL 12源码包部署及用户管理
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档