Linux服务器上的Postgresql 安装与配置

这篇具有很好参考价值的文章主要介绍了Linux服务器上的Postgresql 安装与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux服务器上的Postgresql 安装与配置

首先说明下我安装的是Postgresql 版本为12.4
官网下载地址:
https://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.gz

1.准备

准备好 postgresql 的安装包,以下操作以 12.4 版本为例。
建议使用 root 用户新建普通用户“postgres”仅用于安装 postgresql 数据库。
请在root用户下操作,命令如下:

groupadd postgres 
useradd postgres -d /home/postgres -g postgres 
passwd postgres

请记住设计的密码,如果密码和用户名重复还会提醒你,但是还是会生效
tips:如果忘记了新创建的用户密码,
请切换到root并使用命令格式:passwd+“用户名”
会要求你输入新密码,并再重复输入,同样如果密码和用户名重复还会提醒你,但是还是会生效

2.安装依赖的系统组件

切换到 root 用户安装依赖的系统组件,命令如下:
请先Su root
再执行以下命令:

yum -y install gcc perl-ExtUtils-Embed readline-devel zlib-devel 
openssl-devel pam pam-devel libxml2-devel libxslt-devel tcl tcl-devel 
python-devel docbook-style-dsssl flex bison openjade 

3.解压并安装(记得新建存放压缩包的目录并放入)

切换到 postgres 用户
请先su postgres
在目录下解压安装包:

tar -xvf postgresql-12.4.tar.gz

请记住你解压的目录,会多次用到!
请记住你解压的目录,会多次用到!
请记住你解压的目录,会多次用到!
进入解压的目录,
创建data和log目录

mkdir /所在目录/data
mkdir /所在目录/log

执行预编译命令:
cd +所在目录

./configure --prefix=/home/postgresql-12.4 --with-pgport=5432 --with-perl --with-tcl --with-python --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt

解析这个命令中的每个参数:

  1. ./configure: 这是一个用于配置源码安装的脚本。它检查系统上是否有必要的库和工具,并设置编译参数。
  2. --prefix=/home/postgresql-12.4: 这个参数设置了安装路径。所有 PostgreSQL 的文件和目录都会被安装到 /home/postgresql-12.4 目录下。
  3. --with-pgport=5432: 这设置了 PostgreSQL 服务器监听的端口号为 5432,这是 PostgreSQL 的默认端口。
  4. --with-perl: 启用对 Perl 编程语言的支持,允许使用 Perl 语言编写 PostgreSQL 的扩展。
  5. --with-tcl: 启用对 Tcl 编程语言的支持,允许使用 Tcl 语言编写 PostgreSQL 的扩展。
  6. --with-python: 启用对 Python 编程语言的支持,允许使用 Python 语言编写 PostgreSQL 的扩展。
  7. --with-openssl: 启用 OpenSSL 支持,用于加密 PostgreSQL 的连接和数据传输。
  8. --with-pam: 启用 PAM (Pluggable Authentication Modules) 支持,允许使用 PAM 进行用户身份验证。
  9. --without-ldap: 不启用 LDAP (轻量级目录访问协议) 支持。这通常意味着 PostgreSQL 将不使用 LDAP 进行用户认证。
  10. --with-libxml: 启用对 libxml2 的支持,这是一个用于解析 XML 的库。
  11. --with-libxslt: 启用对 libxslt 的支持,这是一个用于转换 XML 的库。
    总之,这个命令是为了配置 PostgreSQL 数据库的安装,设置安装路径、端口号,并启用或禁用各种功能和库的支持。
    成功后的部分日志如下:
    以下是日志不需要执行
config.status: creating src/include/pg_config_ext.h 
config.status: src/include/pg_config_ext.h is unchanged 
config.status: creating src/interfaces/ecpg/include/ecpg_config.h 
config.status: src/interfaces/ecpg/include/ecpg_config.h is unchanged 
config.status: linking src/backend/port/tas/dummy.s to 
src/backend/port/tas.s 
config.status: linking src/backend/port/dynloader/linux.c to 
src/backend/port/dynloader.c 
config.status: linking src/backend/port/sysv_sema.c to 
src/backend/port/pg_sema.c 
config.status: linking src/backend/port/sysv_shmem.c to 
src/backend/port/pg_shmem.c 
config.status: linking src/backend/port/dynloader/linux.h to 
src/include/dynloader.h 
config.status: linking src/include/port/linux.h to 
src/include/pg_config_os.h 

编译和安装,继续执行命令:

gmake world 
gmake install-world

4. 配置环境变量

root用户下

 vi /etc/profile

新增行输入

export PGHOME=/你自己的安装目录/postgresql
export PGDATA=/你自己的安装目录/postgresql/data
export PATH=$PATH:JAVA_HOME/bin:$PGHOME/bin

记得保存退出 -wq

5.初始化数据库

不要在 root 用户下初始数据库,否则会报错

initdb: cannot be run as root
Please log in (using, e.g., “su”) as the (unprivileged) user that will
own the server process.

还是在用户postgres下,记得切换
进入安装后的 postgresql 目录,执行初始化数据库命令:
该命令下的目录是我的自解压目录,还是请以自己的目录为准。
其中第一个目录是PostgreSQL 的 initdb 命令的完整路径。initdb 命令用于创建新的 PostgreSQL 数据库集群。
-D “/home/sdjk/soft/postgresql-12.4/data”: 这个参数指定了新数据库集群的存储位置。
-U postgres: 这个参数指定了创建新数据库集群时使用的用户名。在初始化过程中,postgres用户将被用来创建必要的文件和目录。
-W: 这个参数告诉 initdb 在创建新数据库集群时进行密码提示

示例命令:
/home/sdjk/soft/postgresql-12.4/bin/initdb -D "/home/sdjk/soft/postgresql-12.4/data" -U postgres -W

需要输入、再次输入数据库管理员账号密码:
linux 安装postgresql,新手上路,postgresql,linux
初始化成功后,出现以下信息:

Success. You can now start the database server using: 
/home/postgres/pg12.4/bin/pg_ctl -D /home/postgres/pgdata -l 
logfile start

5.启动

使用初始化完成后系统提供的启动命令,如下:

/home/postgres/pg12.4/bin/pg_ctl -D /home/postgres/pgdata -l logfile start

启动成功会出现如下日志:

server starting 

6.验证

验证 postgresql 是否启动成功:

ps -ef|grep postgres

linux 安装postgresql,新手上路,postgresql,linux
登录数据库

psql -U postgres -d postgres

6.可能遇到的问题

1.xx文件夹 could not change directory to “/root”: 权限不够
是不是用root而不是新用户解压的 要改一下使用chown设置文件夹的所有子文件夹和文件的所有权
在root下操作 chown -R postgres:root +目录即可 如:文章来源地址https://www.toymoban.com/news/detail-728278.html

chown -R postgres:root /home/postgresql-12.4  

到了这里,关于Linux服务器上的Postgresql 安装与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)

    VSFTPD 实现客户端和服务器之间传输文件 目录 什么是VSFTPD? VSFTPD 的特点和功能 1. 设置和使用FTP服务器的步骤 1. 下载vsftpd包 2. 启动服务 开机自启 3. 关闭防火墙 4. 配置vsftpd服务    常用 配置选项 匿名用户 本地用户 设置进入提示 2.重启vsftpd服务(重点) 3进入 /var/ftp ftp根目

    2024年02月02日
    浏览(37)
  • linux服务器安装python环境配置

    跳板机是一个可以从公共网络访问的服务器,它允许用户通过 SSH 连接进入私有网络中的其他服务器。如上图所示通过跳板机可以连接上7个私有的服务器 当你连接到跳板机时,你可以使用 SSH 隧道或代理来访问私有网络中的其他服务器。当你使用 SSH 隧道或代理时,你实际上

    2024年02月06日
    浏览(44)
  • [linux] samba服务器安装、配置,有细节

    别摸鱼啦,说的就是你,学习编程从入门到放弃。掌握编程思维方式,由浅至深,理解编程技术原理,积累知识,向往自由编程。 ​ samba是一个基于 TCP/IP 协议的开源软件套件,可以在Linux、Windows、macOS等操作系统上运行。它允许不同操作系统的计算机之间实现文件和打印机

    2024年02月04日
    浏览(42)
  • linux服务器中JDK的安装和配置

    目录 一、安装配置过程如下: 1.新建jdk文件夹(/usr/local/jdk) 2.将jdk.tar.gz包解压到jdk文件夹下

    2024年02月07日
    浏览(37)
  • aliyun服务器(Linux)安装emqx,配置ssl证书

    EMQX版本:5.0.8 操作系统及版本:Ubuntu 20.04.1 云服务器:阿里云轻量应用服务器 所用软件:WinSCP、XShell、宝塔面板、MQTTX 其他 食用本文的前提:服务器已经购买,相关基础配置已经完备,域名已经备案,域名与IP已经绑定。 文章末尾会提供所用到的软件 小破站找到的emqx安装

    2024年02月09日
    浏览(50)
  • Linux下Samba服务器的安装与配置(简单实用)

    为了可以实现Linux与windows之间实现文件的共享,方便文件可以直接修改,而不是像以前需要拷贝文件再进行修改,samba的诞生是为了实现现在的这些需求。我们知道Linux之间可以使用NFS服务器来实现文件的共享,samba的诞生就是为了使windows能够访问Linux的资源。 下面是samba服务

    2024年02月12日
    浏览(39)
  • Linux系统DHCP服务器的安装与配置详细步骤

    DHCP作用: 用于为用户分配: 网卡的IP地址,子网掩码 对应的网络地址、广播地址 缺省网关地址 首选和候选DNS服务器的地址 在Linux环境下安装和配置DHCP服务器 并使用客户机进行验证 全局设置: 局域设置:

    2024年02月07日
    浏览(49)
  • vsftpd安装配置,Linux系统配置FTP服务器教程(CentOS 7)

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件 。今天飞飞将和你分享 Linux 系统 安装并配置vsftpd ,搭建FTP环境 。 先让我们来认识下FTP! FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式: 主动

    2024年02月09日
    浏览(48)
  • Linux服务器快速安装和配置MySQL8.0指南

    环境说明:阿里云ECS,2核2G(新老用户同享,仅需99/年),X86架构,CentOS 7.9操作系统。 1.查看当前服务器是否安装了mariadb,如果有安装需要先删除,如下图所示。 2.安装库(支持MySQL实现异步IO操作)。 1.访问MySQL官网下载MySQL-8.0.35社区版rpm安装包,如下图所示,选择合适的版本和

    2024年02月05日
    浏览(46)
  • Linux安装ntp并使用阿里云配置ntp服务器

    安装 NTP 客户端: 打开终端,以 root 权限执行以下命令来安装 NTP 客户端: 编辑 NTP 配置文件: 使用文本编辑器打开 NTP 的配置文件 /etc/ntp.conf ,例如使用 nano 编辑器: 配置 NTP 服务器: 在打开的配置文件中,查找并修改服务器行,添加阿里云的 NTP 服务器地址。注释掉现有

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包