PostgreSQL在Linux中的部署和安装教程

1.PostgreSQL的安装

官方下载路径:PostgreSQL: Downloads

选择对应的Linux的发行版本,就可以进行下载了

上传并解压缩

使用FinalShell或者XFTP将文件上传到对应的虚拟机存放路径下,就可以进行安装了

下面是几个常用的远程工具:

FinalShell官网指路: FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.6.3,更新日期2025.5.21 - FinalShell官网

XFTP官网指路:

XFTP - NetSarang Website

WindTerm下载指路:

Releases · kingToolbox/WindTerm

解压缩

/root/postgresql-12.5(安装路径)文件夹下解压

此操作需要(cd 目录)切换到相应的目录,或者创建对应的文件路径(mkdir -p 目录)

解压缩之后,相应目录下,会出现postgresql-12.5文件夹(使用ls命令查看)

复制代码
tar -zvxf postgresql-12.5.tar.gz

配置PostgreSQL

注意切换成自己的安装路径

报错的话按照报错去下载依赖文件,安装完成之后再次安装

提示:PostgreSQL installation complete.

表示安装完成

复制代码
./configure --without-readline --prefix=/export/servers/app/postgresql-12.5 &&make &&make install 

创建postgresql数据库的用户

创建用户

当前用户必须是root用户,其他用户需要在命令前面添加 sudo

复制代码
useradd postgres

创建数据目录

创建目录

复制代码
mkdir -p /export/servers/data/pgsql/

修改数据目录权限

复制代码
chown postgres:postgres /export/servers/data/pgsql/

查看目录对应权限

复制代码
ll

添加环境变量

注意切换成自己的安装路径

环境变量的配置文件 /etc/profile

修改配置文件

复制代码
vim /etc/profile

在文件的最下面添加下面的环境配置

复制代码
export PGHOME=/export/servers/app/postgresql-12.5
export PGDATA=/export/servers/data/pgsql/  #postgresql数据存放位置
export PATH=$PGHOME/bin:$PATH
export LANG=en_US.utf8
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

使配置文件生效

复制代码
source /etc/profile

常用的vim可以参考Vim常用命令详解:从入门到高效编辑_vim :*-CSDN博客

Esc+i 插入模式和文件管理模式切换

:w # 保存文件

:w filename # 保存为filename文件

:q # 退出Vim

:q! # 强制退出(不保存)

:wq # 保存并退出

:x # 保存并退出(同:wq)

ZZ # 保存并退出(同:wq)

初始化数据库

切换用户

注意切换成自己的安装路径

当前用户为root用户,需要切换

复制代码
su - postgres

使用initdb启动

复制代码
cd /export/servers/app/postgresql-12.5/bin #切换到对应的路径
/export/servers/app/postgresql-12.5/bin/initdb -D /export/servers/data/pgsql/

修改监听端口

复制代码
vim /export/servers/data/pgsql/postgresql.conf

在配置文件的对应位置进行修改

复制代码
# - Connection Settings-

    listen_addresses = '*'

启动pg_ctl

复制代码
/export/servers/app/postgresql-12.5/bin/pg_ctl -D /export/servers/data/pgsql/ -l logfile start
pg_ctl start

查看PostgreSQL 默认端口的网络连接和进程信息

复制代码
netstat -anp | grep 5432

登录并修改postgres密码

方式一:

复制代码
sudo passwd -d postgres #删除原有密码
sudo -u postgres passwd #修改密码

方式二:

复制代码
su - postgres #切换用户
psql #登录数据库
postgres=# alter user postgres with password '输入修改的密码';

修改是否需要密码登录数据库

修改为md5 表示用密码登录 ,如果为trust 表示不需要密码

复制代码
cd /export/servers/app/postgresql-12.5/bin #切换到对应的路径
vim pg_hba.conf
/export/servers/app/postgresql-12.5/bin/pg_ctl -D /export/servers/data/pgsql/ -l logfile restart

添加访问数据库的IP地址

复制代码
cd /export/servers/app/postgresql-12.5/bin #切换到对应的路径

vim pg_hba.conf
#添加相关配置
host     all      all       需要添加的IP地址(192.168.1.114/32)   md5

/export/servers/app/postgresql-12.5/bin/pg_ctl -D /export/servers/data/pgsql/ -l logfile restart

2.PostgreSQL的相关操作命令

登录数据库

复制代码
psql

查看数据库

复制代码
\l

连接其他数据库

复制代码
\c [database_name]

查看数据库表

复制代码
 \dt

列出某一张表格的结构

复制代码
\d [table_name]

执行.sql文件

复制代码
# 示例(ct.sql为sql脚本文件)
psql -d postgres -f /pgsql/postgresql/ct.sql

3.卸载在Linux中的PostgreSQL

卸载PostgreSQL应用程序

复制代码
sudo apt-get remove postgresql* # Ubuntu/Debian
sudo yum remove postgresql* # CentOS/RedHat

删除相关目录和文件

复制代码
sudo rm -rf /var/lib/postgresql/
sudo rm -rf /etc/postgresql/
sudo rm -rf /var/log/postgresql/

检查并删除残留服务

复制代码
sudo systemctl stop postgresql
sudo systemctl disable postgresql
sudo systemctl daemon-reload

相关报错

解决方案:

复制代码
ps -ef | grep postgres
./pg_ctl stop -D /usr/local/pgsql

参考文章:Postgresql-12.5 安装及配置 -银河麒麟V10服务器版本_离线麒麟v10 部署 pg数据库-CSDN博客

欢迎大家点赞,评论哟

相关推荐
海山数据库4 小时前
移动云大云海山数据库(He3DB)postgresql_anonymizer插件原理介绍与安装
数据库·he3db·大云海山数据库·移动云数据库
l1t4 小时前
DeepSeek总结的PostgreSQL的GPT推理SQL移植到DuckDB的性能优化方法
sql·gpt·postgresql
云飞云共享云桌面4 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
2501_927993534 小时前
SQL Server 2022安装详细教程(图文详解,非常详细)
数据库·sqlserver
星火s漫天4 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
xcLeigh4 小时前
Python 项目实战:用 Flask 实现 MySQL 数据库增删改查 API
数据库·python·mysql·flask·教程·python3
威迪斯特4 小时前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
xu_yule4 小时前
Redis存储(15)Redis的应用_分布式锁_Lua脚本/Redlock算法
数据库·redis·分布式
一灰灰blog5 小时前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
Nandeska5 小时前
15、基于MySQL的组复制
数据库·mysql