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.

相关推荐
Diamond技术流7 分钟前
从0开始学习Linux——环境变量详解
linux·服务器·学习·centos·软件安装·环境变量
疯狂吧小飞牛7 分钟前
openssl颁发包含主题替代名的证书–SAN
运维·服务器·网络
疯狂吧小飞牛9 分钟前
openssl创建自签名证书
linux·服务器·ssl
qhd吴飞31 分钟前
在linux下用二进制方式安装mysql8
linux·运维·服务器
水饺编程42 分钟前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-32
linux·嵌入式硬件·fpga开发·硬件架构
刘登辉42 分钟前
雷电模拟器charles代理抓包
运维·服务器
藤原拓远1 小时前
二.LoadBalancer负载均衡服务调用(1)
运维·负载均衡
抽象文学带师1 小时前
配置ssh免密登陆
运维·服务器·ssh
北'辰1 小时前
使用ENSP实现DHCP
运维·网络
罔闻_spider3 小时前
cookie反爬----普通服务器,阿里系
运维·服务器