PostgresQL 安装环境

本文详细介绍了在CentOS7系统中安装和配置PostgresSQL11.2的方法,包括在线安装、离线RPM包安装流程,以及数据库的初始化、远程访问配置和基本安全设置。

PostgresQL 安装环境

一、CentOS 7 安装

1. 环境说明

  • CentOS7
  • PosgreSQL 11.2

2. 在线安装

到目前为止(2019-08-10),CentOS7 默认携带了9.2.24版本的PostgreSQL,我们可以直接从源进行安装:
# 在线安装
sudo yum install postgresql-server postgresql-contrib
# 初始化数据库
sudo postgresql-setup initdb
sudo systemctl start postgresql
# 设置为开机自启动
sudo systemctl enable postgresql
# 重启服务
systemctl restart postgresql

3. 离线RPM包安装

下载地址:https://yum.postgresql.org/rpmchart.php
下载地址:https://yum.postgresql.org/11/redhat/rhel-7-x86_64/repoview
# 先安装依赖包
yum -y install libicu libxslt perl-lib systemd-libs
# 按照如下顺序安装好所有的包
[root@node1 opt]# rpm -ivh postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
[root@node1 opt]# rpm -ivh postgresql11-11.2-1PGDG.rhel7.x86_64.rpm
[root@node1 opt]# rpm -ivh postgresql11-contrib-11.2-1PGDG.rhel7.x86_64.rpm
[root@node1 opt]# rpm -ivh postgresql11-server-11.2-1PGDG.rhel7.x86_64.rpm
- 注意:注意离线的安装方式,版本号会影响相关的文件路径。例如 `/var/lib/pgsql` 变成 `/var/lib/pgsql/11` `systemctl status postgresql-11`
- 注意:程序会被按照到 `/usr/pgsql-11/` 这个目录
# 初始化DB
/usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK
# 启动DB服务
systemctl start postgresql-11
systemctl stop postgresql-11
# 设置开机启动
systemctl enable postgresql-11
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

4. 初始配置

默认PostgreSQL会创建一个 postgres 用户(Linux)来访问数据库软件。
注意:postgres不应该有其他的操作(例如连接到其他网络),这样会给数据库留下安全隐患。

# 修改postgres用户密码:
[root@node1 bin]# passwd postgres # Rexen@123.com.cn
# 切换到postgres用户:
[root@node1 bin]# su - postgres
# 修改PostgreSQL的postgres用户的密码:注意:Linux上的postgres用户用来访问数据库,PostgreSQL 中的 postgres 用户用来管理数据库
bash-4.2$ psql -d template1 -c "ALTER USER postgres WITH PASSWORD '123456';" # 这里我们测试用:123456
# 访问数据库:
bash-4.2$ psql postgres
psql (11.2)
Type "help" for help.
postgres=#

5. 远程访问

# 配置文件位置,如下是默认的配置文件路径:
vi /var/lib/pgsql/11/data/pg_hba.conf
# 在配置文件的下面添加如下内容,允许所有地址进行访问,通过md5加密的密码,注意该文件的优先级是从上到下的,所以需要写在默认的上面
host all all 0.0.0.0/0 md5
host all all 127.0.0.1/32 ident # 这里是默认的位置

# 修改配置文件
vi /var/lib/pgsql/11/data/postgresql.conf
listen_addresses = '*' # 监听所有ip,默认是localhost
max_connections = 1000 # 默认100
tcp_keepalives_idle = 600 # TCP_KEEPIDLE, in seconds;
tcp_keepalives_interval = 10 # TCP_KEEPINTVL, in seconds;
tcp_keepalives_count = 6 # TCP_KEEPCNT;
systemctl restart postgresql-11.service
### 如何在 Windows 上为 PostgreSQL 正确配置环境变量 要在 Windows 系统上正确配置 PostgreSQL环境变量,以便能够在命令行工具(如 PowerShell 或 CMD)中直接运行 `psql` 和其他相关命令,可以遵循以下说明。 #### 添加 PostgreSQL 的 Bin 路径到系统环境变量 1. **打开系统属性对话框** 右键单击桌面上的“此电脑”或“我的电脑”,选择“属性”。随后,在左侧菜单中点击“高级系统设置”。 2. **进入环境变量界面** 在弹出的“系统属性”窗口中,切换至“高级”选项卡,并点击底部的“环境变量”按钮。 3. **修改 Path 环境变量** 在“环境变量”窗口中的“系统变量”部分,找到名为 `Path` 的变量并选中它,然后点击“编辑”按钮。如果未发现该变量,则需手动创建一个新的系统变量命名为 `Path`。 4. **添加 PostgreSQL 安装路径下的 Bin 文件夹地址** 在 `Path` 编辑器中,通过点击“新建”来增加一条记录,输入 PostgreSQL安装目录内的 `bin` 子文件夹的具体位置。例如:`C:\Program Files\PostgreSQL\12\bin`[^1]。 5. **确认更改完成退出操作** 连续点击多个“确定”按钮关闭所有的对话框以保存所做的调整。 #### 设置额外的 PostgreSQL 特定环境变量 (可选) 对于更复杂的场景可能还需要定义一些特定于数据库管理的任务所需的附加参数: - 创建新的用户级或者系统级别的环境变量如下所示: - 名称为 `PGDATA`, 值设为你数据存储的位置, 比如 `E:\database\PostgreSQL\data`[^4]. - 如果适用的话也可以设定用户名(`PGUSER`)、主机名(`PGHOST`)以及端口号(`PGPORT`)等信息分别为合适的值比如 `"postgres"` , `"localhost"`, 和 `"5432"`. 注意这些步骤主要适用于那些希望简化日常维护工作的DBA们;普通使用者通常只需要确保基本的功能可用即可满足需求。 ```python import os # Example Python code to check environment variables are set correctly. print(os.getenv('PATH')) # Should include the path added above e.g., C:\Program Files\PostgreSQL\12\bin print(os.getenv('PGDATA')) # Optional; should point towards your data directory if configured as per step mentioned earlier. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值