当前位置: 首页 > news >正文

阿里云ECS服务器安装PostgreSQL

1. 概述

PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数
PostgreSQL数据库有如下优势

  1. PostgreSQL数据库时功能最强大的开源数据库,最接近工业标准SQL92的查询语言,实现了SQL:2011标准要求的179项主要功能中的160项
  2. 稳定可靠:PostgreSQL数据库时唯一能做到数据领丢失的开源数据库
  3. 开源:PostgreSQL数据库时开源的,遵守BSD协议,使用和二次开发都没有限制
  4. 支持广泛:PostgreSQL数据库支持大量主流开发语言,如C、C++、Perl、Python、Java和PHP

更多详情可以参阅PostgreSQL官网

2. 下载

进入官网,可以看到如下界面
postgresql官网首页
点击Download进入下载页面
可以选择发行版本安装或源码安装
postgresql download
本文采用发行版本安装,根据服务器的操作系统选择不同的安装包,选择Linux
选择安装版本
根据Linux发行版选择不同的Linux distribution
yum安装
选择需要安装的PostgreSQL版本
选择PostgreSQL版本
获取到安装命令后就可以在服务器中执行命令进行安装了

3. 安装

安装postgresql安装源

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

postgresql下载源
查询PostgreSQL,使用下面命令可以查看到与postgresql相关的软件

yum search postgresql

search postgresql
安装postgresql

yum install -y postgresql15-server

install postgresql
运行完以上命令后,PostgreSQL就安装好了,数据库实例还未创建
初始化PostgreSQL

/usr/pgsql-15/bin/postgresql-15-setup initdb

初始化数据库
设置开机自启动

systemctl enable postgresql-15

启动PostgreSQL数据库

systemctl start postgresql-15

查看服务状态

systemctl status postgresql-15

查看状态
停止数据库

systemctl stop postgresql-15

停止数据库
安装contrib包,contrib包中包含了一些插件和工具

yum install postgresql15-contrib

安装contrib
安装完成后,可以使用psql连接到数据库

su - postres
psql

连接数据库
为用户postgres设置密码

ALTER USER postgres WITH PASSWORD '123456';

4. 配置

4.1. 配置pg_hba.conf

默认创建的数据库无法接受远程连接,需要在pg_hba.conf文件中添加配置项
进入/var/lib/pgsql/15/data/目录,使用vim命令进入编辑模式
在节点# IPv4 local connections:下添加如下配置项

host    all             all             xx.xx.xx.xx/32       scram-sha-256

配置白名单

4.2. 配置postgresql.conf

默认只会监听localhost,会造成远程主机无法登录数据库,可以将其修改为*,表示监听所有地址
使用vim命令打开postgresql.conf配置文件,找到Connection Settings节点,修改listen_addresses配置项
修改listen_addresses
修改配置后,需要重启数据库

systemctl restart postgresql-15

4.3. 日志配置

PostgreSQL中默认只保留7天的日志,进行循环覆盖,配置如下
日志配置
如果需要配置每天生成一个日志,配置如下:

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0

如果需要配置每当写满一定大小就切换一个新的日志,配置如下:

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M
http://www.lryc.cn/news/136078.html

相关文章:

  • 【核磁共振成像】傅里叶重建
  • Camunda 工作流节点跳转 - 多实例节点判断和跳转
  • MySQL不停重启问题
  • ol-cesium 暴露 Cesium viewer 对象以及二三维切换、viewer 添加点功能示例
  • 国产化-达梦数据库安装2
  • 延长OLED透明屏的使用寿命:关键因素与有效方法分享
  • 域名是指哪一部分?
  • MPP 还是主流架构吗
  • ubuntu查看网速
  • 【官方中文文档】Mybatis-Spring #使用 MyBatis API
  • go gorm belong to也就是多对一的情况
  • 亚马逊云科技 云技能孵化营——机器学习心得
  • Django实现音乐网站 ⒀
  • PySide6学习笔记--基础环境的安装配置
  • 算法通关村第九关——中序遍历与搜索树
  • 测试框架pytest教程(5)运行失败用例-rerun failed tests
  • 【车载开发系列】UDS当中的时间参数
  • PDF中的表格怎么转换为Excel?这两个工具一定得收藏!
  • ssh scp sshpass
  • leetcode 1996. 游戏中弱角色的数量(排序的魅力)
  • 从头到尾说一次 Spring 事务管理(器) | 京东云技术团队
  • php 系列题目,包含查看后端源代码
  • 令牌桶C语言代码实现
  • Mybatis 建立依赖失败:报错Dependency ‘mysql:mysql-connector-java:8.0.28‘ not found
  • 多线程+隧道代理:提升爬虫速度
  • 使用@Configuration和@Bean给spring容器中注入组件
  • 信号波形解读
  • Centos 解决 XXX不在 sudoers 文件中。此事将被报告。的错误
  • 雪花算法和uuid的区别
  • docker之DockerFile与网络