用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
SQL-Server
›
Linux中部署PostgreSQL保姆级教程
Linux中部署PostgreSQL保姆级教程
干翻全岛蛙蛙
论坛元老
|
2024-12-15 03:25:12
|
显示全部楼层
|
阅读模式
楼主
主题
1569
|
帖子
1569
|
积分
4707
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、版本说明
本文接纳的版本号是postgresql-14.4。
官网资源包下载地址:PostgreSQL: File Browser
二、安装前的准备
2.1安装依靠
2.1.1
安装编译工具
yum install -y gcc gcc-c++
复制代码
这个命令安装了 GNU 编译器集合(gcc)和 GNU C++ 编译器(gcc-c++)。这些是编译 PostgreSQL 源代码所必需的。
2.1.2
安装 readline
开发
库
yum install -y readline-devel
复制代码
readline-devel 包提供了额外的头文件和库,用于
开发
与 readline 库兼容的程序。readline 是一个库,用于提供命令行编辑和历史功能,PostgreSQL 必要这个库来支持其命令行工具。
2.1.3
安装 zlib
开发
库
yum install -y zlib-devel
复制代码
zlib-devel 包包含了 zlib 压缩库的
开发
文件,包括头文件和用于链接的库文件。PostgreSQL 使用 zlib 来举行数据压缩。
2.2创建postgres用户与用户组
2.2.1创建postgres用户组
groupadd postgres
复制代码
2.2.2创建postgres用户,并添加到postgres用户组
useradd postgres -r -g postgres
复制代码
useradd postgres:创建一个名为 postgres 的新用户。
-r:指定创建的是一个系统账户。系统账户通常用于运行系统服务,而不是平凡用户登录。
-g postgres:指定用户的主组为 postgres。假如该组不存在,则会创建一个同名的组。
三、基于压缩包安装(推荐)
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
复制代码
3.1.2解压
确保压缩包文件已上传成功:
解压命令如下:
tar -zxvf postgresql-14.4.tar.gz
复制代码
3.2编译和安装
3.2.1创建安装目次(安装在/usr/local/postgresql目次)
mkdir /usr/local/postgresql
复制代码
3.2.2进入解压的目次下(当前目次/softWare)
cd postgresql-14.4
复制代码
3.2.3指定安装前缀
./configure --prefix=/usr/local/postgresql
复制代码
3.2.4构建(编译)
make
复制代码
3.2.5安装
make install
复制代码
3.3创建存放postgresql数据的目次,初始化数据库并启动
3.3.1创建数据目次
mkdir /usr/local/postgresql/data
复制代码
3.3.2创建日记目次
mkdir /usr/local/postgresql/log
复制代码
3.3.2修改数据、日记目次的所属用户与用户组均为postgres
chown -R postgres:postgres /usr/local/postgresql/data
复制代码
chown -R postgres:postgres /usr/local/postgresql/log
复制代码
3.3.3
始化数据库
①切换到postgres用户
su postgres
复制代码
②初始化数据库
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data
复制代码
命令解释
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data 是一个用于初始化 PostgreSQL 数据库集群的命令。
命令参数
/usr/local/postgresql/bin/initdb: 这是 initdb 命令的路径,initdb 是 PostgreSQL 提供的一个用于创建新的数据库集群的工具。
-D /usr/local/postgresql/data: -D 参数指定了数据库集群的数据目次,即 /usr/local/postgresql/data。这个目次将存储全部数据库文件。
3.4启动数据库,并将日记打印到pg.log文件上
/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/log/pg.log start
复制代码
命令解释
该命令用于启动PostgreSQL数据库服务器。
命令参数解释
-D /usr/local/postgresql/data: 指定PostgreSQL数据目次的路径。这是数据库文件存储的地方。
-l /usr/local/postgresql/log/pg.log: 指定日记文件的路径,PostgreSQL的启动和运行日记将记载在此文件中。
start: 指示pg_ctl启动PostgreSQL服务器。
3.5进入数据库和修改密码
3.5.1进入数据库
/usr/local/postgresql/bin/psql -p 5432
复制代码
3.5.2
查看全部数据库用户
\du
复制代码
PostgreSQL 数据库安装后,默认的用户名通常是 postgres。这个用户也被称为“超级用户”账户,由于它拥有数据库中的全部权限,并且可以实行任何数据库利用。
3.5.3修改管理员postgres的密码
修改管理员postgres的密码为postgres:
ALTER USER postgres WITH PASSWORD 'postgres';
复制代码
3.6修改配置
3.6.1设置连接访问规则(修改配置文件pg_hba.conf,在文件末尾添加)
host all all 0.0.0.0/0 md5
复制代码
①进入目次
cd /usr/local/postgresql/data/
复制代码
②编辑pg_hba.conf文件
vim pg_hba.conf
复制代码
在PostgreSQL的pg_hba.conf 文件中,“host all all 0.0.0.0/0 md5”是一种连接访问规则:
host
:表示这是针对主机连接的规则范例。
all(第一个)
:实用于全部的数据库。
all(第二个)
:实用于全部的用户。
0.0.0.0/0
:这是一个网络标识。此中“0.0.0.0”为IP地址,“/0”为子网掩码,表示答应来自任何IP地址的主机连接。
md5
:这是一种认证方法。使用md5意味着客户端连接数据库时必要提供经过md5加密后的密码举行身份验证。与“trust”(信托模式不必要密码)相比,这种方式更安全,实用于必要一定安全保障的场景,如生产环境或对外提供服务且必要限定访问权限的数据库环境。
3.6.2设置PostgreSQL数据库服务器监听全部可用的网络接口上的传入连接请求
①进入目次
cd /usr/local/postgresql/data/
复制代码
②编辑postgresql.conf文件
vim postgresql.conf
复制代码
修改listen_address为恣意ip ,即 listen_addresses = '*'
假如此步骤报错,切换到root用户实行
3.6.3重启数据库
/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/log/pg.log restart
复制代码
3.6.4测试连接
对外访问,必要开通端口
3.7常用命令
3.7.1linux中命令行中使用的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/local/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/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/log/pg.log start|restart|stop
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
干翻全岛蛙蛙
论坛元老
这个人很懒什么都没写!
楼主热帖
Mac 上下载安装《鸣潮》详细教程(含更 ...
SQL的函数
Android Studio实现一个校园图书管理系 ...
ASP.NET Core依赖注入之旅:针对服务注 ...
批量下载浏览器网页中全部链接的方法 ...
ES6案例 ------ 模拟浏览器网页顶部切 ...
我为什么选择Wiki.js记笔记? ...
类与对象的创建
sql注入详解
什么是超融合?
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
前端开发
快速回复
返回顶部
返回列表