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.

相关推荐
Full Stack Developme2 小时前
Linux 多种压缩格式,优缺点和适用场景
linux·运维·服务器
旖旎夜光2 小时前
Linux(4)(下)
linux·学习
yBmZlQzJ6 小时前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
Shanxun Liao6 小时前
Cenots 7.9 配置多台 SSH 互信登陆免密码
linux·运维·ssh
j_xxx404_6 小时前
Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
linux·运维·服务器
一点晖光6 小时前
jenkins优化记录
运维·jenkins
looking_for__7 小时前
【Linux】Ext系列文件系统
linux
最贪吃的虎7 小时前
Git: rebase vs merge
java·运维·git·后端·mysql
OliverH-yishuihan7 小时前
开发linux项目-在 Windows 上 基于“适用于 Linux 的 Windows 子系统(WSL)”
linux·c++·windows
yBmZlQzJ8 小时前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节