Linux - PostgreSQL 适用于9.x 以上的 tar.gz 源码安装与理解 - 报错集锦

这里写目录标题

序言

PostgreSQL 9.x 以下版本笔者没用过,具体操作看参考链接,笔者就不记录重复操作了,主要记录容易出问题的地方。

主要内容

bash 配置文件个人理解

按照参考链接那样介绍,是在 ~/.bash_profile 文件配置 PGHOME 和 PGDATA 系统变量,但是每次重新登录命令行时,总要手动激活 ~/.bash_profile 内的配置,否则 psql 命令无法生效。

报错如下:

具体原因如下:

最后在网上查找资料发现,用图形界面登录时,系统会读取~/.bash_profile中的配置信息,所以环境变量可以生效。

但是用命令行登录,例如xshell,系统加载的是~/.bashrc 中的配置信息。

所以,我们把环境变量在~/.bashrc文件中,重新配置一次,问题解决,用命令行就不用每次执行 . .bash_profile命令了。

~/.bash_profile 修改为 ~/.bashrc 文件,然后source ~/.bashrc ,问题便可解决。

linux下.bash_profile中环境变量失效问题

关于初始化 PostgreSQL 数据库的理解

  1. --prefix= 指定安装目录路径

  2. 如果初始化数据库时,data目录没有指定,则会默认使用环境变量中的PGDATA

pg_hba.conf配置理解:

css 复制代码
TYPE DATABASE USER ADDRESS METHOD
host all all 127.0.0.1/32 trust
host all postgres 0.0.0.0/0 reject
host all all 0.0.0.0/0 md5

以上配置的解释:

  • 允许任何本地用户无密码连接任何数据库。
  • 不允许Postgres用户从任何外部地址连接任何数据库。
  • 允许其他任何用户从外部地址通过密码连接任何数据库。

如果要配置 PostgreSQL 的远程连接,配置如下:

bash 复制代码
# IPv4 local connections:
host    all             all             0.0.0.0/0               md5

修改 postgresql.conf 配置文件 (该配置是优化后的配置)

css 复制代码
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'
port = 5432
max_connections = 20000			# (change requires restart)
superuser_reserved_connections = 100

修改一下listen_address使其监听整个网络

启动方法

正常情况下的启动命令:-D data路径可以不用指定

注意指定的是一个 .log 后缀的日志文件

bash 复制代码
pg_ctl start -l /usr/local/postgresql/log/pg_server.log

无法启动的请参考

PostgreSQL说无法启动服务器时该怎么办

检查服务器是否在PostgreSQL中运行

bash 复制代码
pg_ctl status

效果:

关闭 postgresql 数据库方法

bash 复制代码
pg_ctl stop

pg_ctl status 命令查看效果:


参考链接

1. Linux CentOS 7 安装PostgreSQL 9.5(源码编译)

2. PostgreSQL用户角色和权限管理

3. linux下启动数据库的时候,waiting for server to start...stopped waiting pg_ctl:could not start server

4. Mac下启动postgrsql提示another server might be running的解决

5. postgres提示pg_ctl: could not start server Examine the log output.

相关推荐
切糕师学AI33 分钟前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
日取其半万世不竭38 分钟前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
优化Henry1 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd
浪客灿心1 小时前
Linux网络传输层协议
linux·运维·网络
belldeep1 小时前
本草纲目:如何应用 PostgreSQL 实现【中医药】主题数据库 ?
数据库·postgresql·本草纲目
舟遥遥娓飘飘1 小时前
Nexus4CC 手机电脑同步claude code对话部署教程(基于linux系统)
linux·智能手机·电脑
V搜xhliang02461 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
何妨呀~2 小时前
Firewalld防火墙端口配置
linux
切糕师学AI2 小时前
Vim 深度解析:从经典 vi 到现代编辑器之巅
linux·vim·文本编辑器
遇见火星2 小时前
Nginx限流配置:防止接口被刷,服务器稳如泰山
运维·服务器·nginx