用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
Linux中摆设PostgreSQL保姆级教程
Linux中摆设PostgreSQL保姆级教程
吴旭华
论坛元老
|
2024-12-30 21:17:02
|
显示全部楼层
|
阅读模式
楼主
主题
1776
|
帖子
1776
|
积分
5328
一、版本说明
本文采用的版本号是postgresql
-14.4。
官网资源包下载地点:PostgreSQL: Fil
e Browser
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/be510749b93c4e2c9836c553acf7873d.png[/img][/al
ign]
二、安装前的准备
2.1安装依靠
2.1.1
安装编译工具
yum instal
l
-y gcc gcc-c++
复制代码
这个命令安装了 GNU 编译器集合(gcc)和 GNU C++ 编译器(gcc-c++)。这些是编译 PostgreSQL 源代码所必需的。
2.1.2
安装 readl
ine
开发
库
yum instal
l
-y readl
ine-devel
复制代码
readl
ine-devel
包提供了额外的头文件和库,用于
开发
与 readl
ine 库兼容的步伐。readl
ine 是一个库,用于提供命令行编辑和历史功能,PostgreSQL 需要这个库来支持其命令行工具。
2.1.3
安装 zl
ib
开发
库
yum instal
l
-y zl
ib-devel
复制代码
zl
ib-devel
包包含了 zl
ib 压缩库的
开发
文件,包括头文件和用于链接的库文件。PostgreSQL 利用 zl
ib 来进行数据压缩。
2.2创建postgres用户与用户组
2.2.1创建postgres用户组
groupadd postgres
复制代码
2.2.2创建postgres用户,并添加到postgres用户组
useradd postgres -r -g postgres
复制代码
[l
ist]
useradd postgres:创建一个名为postgres的新用户。
-r:指定创建的是一个系统账户。系统账户通常用于运行系统服务,而不是普通用户登录。
-g postgres:指定用户的主组为postgres。假如该组不存在,则会创建一个同名的组。
[/l
ist]
三、基于压缩包安装(推荐)
3.1解压
压缩包
前置准备(在根目录下创建softWare文件夹,并进入到softWare文件夹下):
①在根目录下创建softWare文件夹
mkdir /softWare
复制代码
②进入到softWare文件夹下
cd /softWare
复制代码
3.1.1将
压缩包
(postgresql
-14.4.tar.gz)下载到softWare文件夹下
①方法一:将准备好的文件上传上去(推荐)
②方法二:通过wget下载
wget命令如下:
wget https://ftp.postgresql
.org/pub/source/v14.4/postgresql
-14.4.tar.gz
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/b7db7423539d4e59bb81c3605f4997ae.png[/img][/al
ign]
3.1.2解压
确保压缩包文件已上传乐成:
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/2b86785f0f654820b551c3781cf36bc5.png[/img][/al
ign]
解压命令如下:
tar -zxvf postgresql
-14.4.tar.gz
复制代码
3.2编译和安装
3.2.1创建安装目录(安装在/usr/l
ocal
/postgresql
目录)
mkdir /usr/l
ocal
/postgresql
复制代码
3.2.2进入解压的目录下(当前目录/softWare)
cd postgresql
-14.4
复制代码
3.2.3指定安装前缀
./configure --prefix=/usr/l
ocal
/postgresql
复制代码
3.2.4构建(编译)
make
复制代码
3.2.5安装
make
instal
l
复制代码
3.3创建存放postgresql
数据的目录,初始化数据库并启动
3.3.1创建数据目录
mkdir /usr/l
ocal
/postgresql
/data
复制代码
3.3.2创建日志目录
mkdir /usr/l
ocal
/postgresql
/l
og
复制代码
3.3.2修改数据、日志目录的所属用户与用户组均为postgres
chown -R postgres:postgres /usr/l
ocal
/postgresql
/data
chown -R postgres:postgres /usr/l
ocal
/postgresql
/l
og
复制代码
3.3.3
始化数据库
①切换到postgres用户
su postgres
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/25cc64c96e2e4e339536f83e56c9d1e8.png[/img][/al
ign]
②初始化数据库
/usr/l
ocal
/postgresql
/bin/initdb -D /usr/l
ocal
/postgresql
/data
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/455b030e075d465e96a01efc4bdb05b3.png[/img][/al
ign]
命令解释
/usr/l
ocal
/postgresql
/bin/initdb -D /usr/l
ocal
/postgresql
/data
是一个用于初始化 PostgreSQL 数据库集群的命令。
命令参数
[l
ist]
/usr/l
ocal
/postgresql
/bin/initdb: 这是initdb命令的路径,initdb是 PostgreSQL 提供的一个用于创建新的数据库集群的工具。
-D /usr/l
ocal
/postgresql
/data:-D参数指定了数据库集群的数据目录,即/usr/l
ocal
/postgresql
/data。这个目录将存储全部数据库文件。
[/l
ist]
3.4启动数据库,并将日志打印到pg.l
og文件上
/usr/l
ocal
/postgresql
/bin/pg_ctl
-D /usr/l
ocal
/postgresql
/data -l
/usr/l
ocal
/postgresql
/l
og/pg.l
og start
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/6f3781e7a6ce4b8186b433856923e656.png[/img][/al
ign]
命令解释
该命令用于启动PostgreSQL数据库服务器。
命令参数解释
[l
ist]
-D /usr/l
ocal
/postgresql
/data: 指定PostgreSQL数据目录的路径。这是数据库文件存储的地方。
-l
/usr/l
ocal
/postgresql
/l
og/pg.l
og: 指定日志文件的路径,PostgreSQL的启动和运行日志将记录在此文件中。
start: 指示pg_ctl
启动PostgreSQL服务器。
[/l
ist]
3.5进入数据库和修改密码
3.5.1进入数据库
/usr/l
ocal
/postgresql
/bin/psql
-p 5432
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/95d63239bbac48428b9a8b17e29b3029.png[/img][/al
ign]
3.5.2
检察全部数据库用户
du
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/55b553d3e01244bdadfe8f97019a5966.png[/img][/al
ign]
PostgreSQL 数据库安装后,默认的用户名通常是 postgres。这个用户也被称为“超级用户”账户,由于它拥有数据库中的全部权限,而且可以执行任何数据库操作。
3.5.3修改管理员postgres的密码
修改管理员postgres的密码为postgres:
ALTER USER postgres WITH PASSWORD 'postgres';
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/48723f7a380244178b3d1cba2830efd3.png[/img][/al
ign]
3.6修改配置
3.6.1设置毗连访问规则(修改配置文件pg_hba.conf,在文件末端添加)
host al
l
al
l
0.0.0.0/0 md5
复制代码
①进入目录
cd /usr/l
ocal
/postgresql
/data/
复制代码
②编辑pg_hba.conf文件
vim pg_hba.conf
复制代码
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/e4b029e75e3340279e9d579ed25e41ae.png[/img][/al
ign]
在PostgreSQL的pg_hba.conf 文件中,“host al
l
al
l
0.0.0.0/0 md5”是一种毗连访问规则:
[l
ist]
host
:表示这是针对主机毗连的规则范例。
al
l
(第一个)
:适用于全部的数据库。
al
l
(第二个)
:适用于全部的用户。
0.0.0.0/0
:这是一个网络标识。此中“0.0.0.0”为IP地点,“/0”为子网掩码,表示允许来自任何IP地点的主机毗连。
md5
:这是一种认证方法。利用md5意味着客户端毗连数据库时需要提供颠末md5加密后的密码进行身份验证。与“trust”(信任模式不需要密码)相比,这种方式更安全,适用于需要一定安全保障的场景,如生产环境或对外提供服务且需要限制访问权限的数据库环境。
[/l
ist]
3.6.2设置PostgreSQL数据库服务器监听全部可用的网络接口上的传入毗连请求
①进入目录
cd /usr/l
ocal
/postgresql
/data/
复制代码
②编辑postgresql
.conf文件
vim postgresql
.conf
复制代码
修改l
isten_address为任意ip ,即 l
isten_addresses = ‘*’
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/fbc3eab4dbab4e5694dd0812095bdf26.png[/img][/al
ign]
假如此步骤报错,切换到root用户执行
3.6.3重启数据库
/usr/l
ocal
/postgresql
/bin/pg_ctl
-D /usr/l
ocal
/postgresql
/data -l
/usr/l
ocal
/postgresql
/l
og/pg.l
og restart
复制代码
3.6.4测试毗连
对外访问,需要开通端口
[al
ign=center][img]https://i-bl
og.csdnimg.cn/direct/8e8f38f02e3c4d998c939c731cfd15ae.png[/img][/al
ign]
3.7常用命令
3.7.1l
inux中命令行中利用的psql
命令
参数
参数寄义
-h
毗连数据库服务器的IP
-p
数据库服务器的端口号
-U
毗连数据库服务器时利用数据库用户
-w
毗连服务器时不需要输入用户密码(默认不输入用户密码)
-W
毗连服务器时需要输入用户密码
-d
指定要毗连的数据库(默认毗连postgres数据库)
-c
执行单一的SQL命令
-f
执行sql
脚本文件
-V
输出版本信息
--连接本地数据库,端口号为5432,使用postgres用户,连接test数据库
./psql
-h 127.0.0.1 -p 5432 -U postgres
-d test
--执行sql
脚本文件/root/pg.sql
./psql
-h 127.0.0.1 -p 5432 -U postgres
-d test -f /root/pg.sql
--执行SQL语句
./psql
-h 127.0.0.1 -p 5432 -U postgres
-d test -c "sql
_one;sql
_two;"
--查看数据库版本
./psql
-V
复制代码
3.7.2pg命令行中利用的psql
命令
命令
寄义
h
检察sql
语法
l
列出全部数据库
dn
列出全部schema(模式)
db
表现全部表空间(相当于一个目录,表放在表空间中)
d
检察当前schema中全部的表、视图、序列
dt
只表现匹配的表
di
只表现匹配的索引
ds
只表现匹配的序列
dv
只表现匹配的视图
df
只表现匹配的函数
sf
检察指定的函数界说
du
列出数据库中全部用户
dp
表现表的分配情况
c
切换数据库
q
退出pg命令行
--查看所有数据库
postgres=# l
--显示pg内部的函数acos
postgres=# df acos
--查询acos函数的函数定义
postgres=# sf acos
--退出pg命令行
postgres=# q
复制代码
3.7.3实际常用命令总结
①进入数据库(在bin目录下,即/usr/l
ocal
/postgresql
/bin)
切换到postgres用户
su postgres
复制代码
进入数据库(默认毗连postgres数据库)
./psql
-h 127.0.0.1 -p 5432 -U postgres
复制代码
②查询全部的数据库
l
复制代码
③检察当前地点的数据库
SELECT current_database();
复制代码
④创建数据库
CREATE DATABASE "数据库名";
复制代码
⑤切换数据库
c "数据库名"
复制代码
⑥查询当前数据库全部的表
dt
复制代码
⑦启动、重启、关闭数据库
切换postgres用户
/usr/l
ocal
/postgresql
/bin/pg_ctl
-D /usr/l
ocal
/postgresql
/data -l
/usr/l
ocal
/postgresql
/l
og/pg.l
og start
|restart|stop
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
吴旭华
论坛元老
这个人很懒什么都没写!
楼主热帖
mamba-ssm安装building wheel卡着不动 ...
【云原生】第二篇--容器管理工具 Docke ...
数据库系统课程设计(高校成绩管理数据 ...
《原CSharp》第二回 巧习得元素分类 子 ...
使用TrueNas(FreeNas)进行华为手机备 ...
JVM虚拟机性能监控与故障处理工具(3) ...
java中==和equals区别
【图论】—— 有向图的强连通分量 ...
Spark 总复习
AWVS漏洞扫描器的使用
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
分布式数据库
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表