热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux环境下PostgreSQL的安装、配置及日常管理

本文详细介绍了在Linux环境下安装、配置PostgreSQL数据库的过程,包括环境准备、安装步骤、配置数据库访问以及日常服务管理等方面的内容。适合初学者和有一定经验的数据库管理员参考。

1. PostgreSQL安装与配置

1.1 环境准备

操作系统: Oracle Linux Server 6.5

IP地址: 192.168.6.177

版本信息: PostgreSQL 9.6.3

安装方式: RPM包

1.2 下载安装包

访问PostgreSQL官方网站,根据您的操作系统类型和版本选择合适的安装包。所需下载的安装包如下:

postgresql96-9.6.3-4PGDG.rhel6.x86_64.rpm

postgresql96-contrib-9.6.3-4PGDG.rhel6.x86_64.rpm

postgresql96-libs-9.6.3-4PGDG.rhel6.x86_64.rpm

postgresql96-server-9.6.3-4PGDG.rhel6.x86_64.rpm

1.3 安装PostgreSQL

将下载的安装包放置在同一目录下,然后执行安装命令:

[root@DB-Server-Node1 ~]# rpm -ivh postgresql96-*.rpm

1.4 安装文件夹说明

RPM包安装过程中,PostgreSQL会在系统中创建以下文件夹:

/var/lib/pgsql: 存放PostgreSQL数据库的默认数据文件

/usr/pgsql-9.6: 存放PostgreSQL的命令、依赖库及相关文档

1.5 将PostgreSQL命令加入系统路径

编辑/etc/profile文件,将PostgreSQL的命令路径添加到系统环境变量中,并使配置立即生效:

[root@DB-Server-Node1 ~]# vi /etc/profile

... ...

# 在文件末尾添加以下内容

export PATH=$PATH:/usr/pgsql-9.6/bin

# 保存并退出后,执行以下命令使配置生效

[root@DB-Server-Node1 ~]# source /etc/profile

# 测试PostgreSQL命令

[root@DB-Server-Node1 share]# postgres --version

1.6 初始化数据库

使用默认的数据文件夹初始化数据库:

[root@DB-Server-Node1 bin]# service postgresql-9.6 initdb

[root@DB-Server-Node1 bin]# /etc/init.d/postgresql-9.6 initdb

对于CentOS 7/RedHat 7/Oracle Linux 7,使用以下命令初始化数据库:

[root@DB-Server-Node1 bin]# /usr/pgsql-9.6/bin/postgresql96-setup initdb

使用自定义数据存储目录时,首先创建并设置权限,然后初始化数据库:

# 创建数据存储目录

mkdir -p /data/postgres

# 设置目录权限

chown -R postgres:postgres /data/postgres

# 初始化数据库

su -l postgres -c "/usr/pgsql-9.6/bin/initdb --no-locale -U postgres -E utf8 -D /data/postgres -W"

1.7 添加PostgreSQL环境变量(可选)

编辑/etc/profile文件,添加PostgreSQL的相关环境变量:

[root@DB-Server-Node1 ~]# vi /etc/profile

... ...

# 添加PostgreSQL环境变量

PGDATA=/data/postgres

PGHOST=127.0.0.1

PGDATABASE=postgres

PGUSER=postgres

PGPORT=5432

export PGDATA PGHOST PGDATABASE PGUSER PGPORT

1.8 配置数据库访问

编辑postgres.conf文件,配置数据库的基本参数:

listen_addresses='localhost'

port=5432

max_cOnnections=100

superuser_reserved_cOnnections=3

authentication_timeout=60s

ssl=false

password_encryption=true

shared_buffers=32MB

max_prepared_transactiOns=5

temp_buffers=8MB

work_mem=1MB

maintenance_work_mem=16MB

fsync=on

synchronous_commit=on

full_page_writes=on

wal_buffers=64KB

wal_writer_delay=200ms

commit_delay=0ms

commit_siblings=5

编辑pg_hba.conf文件,配置数据库的访问控制:

[root@DB-Server-Node1 ~]# vi pg_hba.conf

... ...

# 本地Unix域套接字连接

local all all trust

# IPv4本地连接

host all all 127.0.0.1/32 trust

host all all 192.168.6.0/24 trust

# IPv6本地连接

host all all ::1/128 trust

1.9 启动数据库并测试

启动PostgreSQL数据库服务:

[root@DB-Server-Node1 init.d]# service postgresql-9.6 start

使用psql命令测试数据库连接:

[root@DB-Server-Node1 9.6]# psql -h localhost -U postgres -d postgres -W

1.10 修改用户密码

使用psql命令登录数据库,修改默认用户的密码:

[root@DB-Server-Node1 9.6]# su - postgres

-bash-4.2$ psql -h localhost -U postgres -d postgres -w

postgres=# alter user postgres with password '新密码';

1.11 设置服务开机自启动

chkconfig postgresql-9.6 on

2. PostgreSQL日常服务管理

启动数据库: pg_ctl start -D /data/postgres

重启数据库: pg_ctl restart -D /data/postgres

停止数据库: pg_ctl stop -D /data/postgres

强制重启: pg_ctl restart -D /data/postgres -m f

强制停止: pg_ctl stop -D /data/postgres -m f

重新加载配置: pg_ctl reload -D /data/postgres

查看服务状态: pg_ctl status -D /data/postgres

连接数据库: psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W


推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文深入探讨了如何通过调整InnoDB的关键配置参数来优化MySQL的随机IO性能,涵盖了缓存、日志文件、预读机制等多个方面,帮助读者全面提升数据库系统的性能。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
author-avatar
元元木樨_669
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有