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博客

欢迎大家点赞,评论哟

相关推荐
Mahir0811 分钟前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性
2301_7693406716 分钟前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
AC赳赳老秦24 分钟前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
灵犀学长1 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
北秋,1 小时前
PostgreSQL(Postgres)数据库基础用法 + 数字型 + 字符型 完整联合注入实战
数据库·postgresql·开源
m0_596749092 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
多加点辣也没关系2 小时前
Redis 的安装(详细教程)
数据库·redis·缓存
数据库小学妹3 小时前
数据库连接池避坑指南:告别“连接超时”与“资源耗尽”,让系统跑得更快!
数据库·redis·sql·mysql·缓存·dba
dishugj3 小时前
HANA 数据库备份与恢复
数据库·oracle
前进的李工3 小时前
EXPLAIN输出格式全解析:JSON、TREE与可视化
开发语言·数据库·mysql·性能优化·explain