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.

相关推荐
飞询29 分钟前
docker 部署 sftp
运维·docker
LH_R1 天前
OneTerm开源堡垒机实战(四):访问授权与安全管控
运维·后端·安全
用户31187945592181 天前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
涛啊涛1 天前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理
JuiceFS2 天前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端
CYRUS_STUDIO2 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李2 天前
rootfs-根文件系统详解
linux
chen9452 天前
mysql 3节点mgr集群部署
运维·后端
LH_R2 天前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全