postgre 12.11单实例安装文档

下载

访问https://www.postgresql.org/download/,点击左侧的‘source'进行下载,一般选择bz2的安装包。

二 安装

这里安装12.11版本的postgre,数据目录路径为/data/server/pgdata,端口为5432.

2.1 安装依赖

#安装

yum install -y zlib-devel readline-devel perl-ExtUtils-Embed python python-devel gcc bison flex

#检查哪些软件包没装上(若没结果输出,说明全部安装上了)

rpm -q zlib-devel readline-devel perl-ExtUtils-Embed python python-devel gcc bison flex | grep 'not installed'

2.2 安装PostgreSQL

cd /usr/local

tar -xvf postgresql-12.11.tar.bz2

cd postgresql-12.11

./configure --prefix=/usr/local/pgsql12.11 --enable-thread-safety --with-perl --with-python

/*

假如报错:

checking how to link an embedded Python application... configure: error: could not find shared library for Python

检查下是否安装了多个python,指定PYTHON=正确位置

若还是不行,则加上--without-python:

./configure --prefix=/usr/local/pgsql12.11 --enable-thread-safety --with-perl --without-python

*/

make

make install

ln -s /usr/local/pgsql12.11 /usr/local/pgsql  

#安装contrib下的工具

cd contrib

make

make install

2.3 修改环境变量

vi /etc/profile

在最后添加:

export PATH=$PATH:/usr/local/pgsql/bin

export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

PGDATA=/data/server/pgdata

#让设置生效

source /etc/profile

2.4 初始化数据库

mkdir -p /data/server

cd /data/server

mkdir pgdata

#新建普通用户,初始化数据库

useradd postgres

passwd postgres

cd /data/server

chown -R postgres:postgres pgdata

su - postgres

export PGDATA=/data/server/pgdata

initdb

cd /data/server/pgdata

mkdir arch

mkdir log

2.5 修改参数文件

2.5.1 修改postgresql.conf

cd /data/server/pgdata

vi postgresql.conf,新增如下内容:

port=5432

listen_addresses='*'

archive_mode=on

archive_command = 'test ! -f /data/server/pgdata/arch/%f && cp %p /data/server/pgdata/arch/%f'

log_destination='stderr'

logging_collector=on

log_directory='log'

log_filename='postgresql-%a.log'

修改:

max_connections = 1000

2.5.2 修改pg_hba.conf文件

默认只有本地可以连数据库,远程连接会报错:

psql: FATAL:  no pg_hba.conf entry for host "192.168.1.203", user "postgres", database "postgres", SSL off

如果想让别的服务器能够远程连接,需要修改gp_hba.conf文件:

vi pg_hba.conf

添加如下一行内容,以允许所有服务器连接

host all all 0.0.0.0/0 md5

2.6 启动数据库

pg_ctl -D /data/server/pgdata start

2.7 登录数据库测试

2.7.1 本地测试

psql -p 端口

2.7.2 navicat连接工具远程连接测试

报错:

pg日志里显示:

DETAIL:  User "postgres" has no password assigned

解决办法:进数据库里为该用户设置密码:

ALTER USER postgres PASSWORD '设为和该操作系统用户一样的密码';

2.8 设置开机自启动

如果是CentOS 6,则选择用2.8.1这种方式,如果是CentOS 7,则选择用2.8.2这种方式.

2.8.1 CentOS 6版本的配置成用service方式启动

2.8.1.1 新建/etc/init.d/postgresql文件

用root用户执行:

cp /usr/local/postgresql-12.11/contrib/start-scripts/linux /etc/init.d/postgresql

chmod +x /etc/init.d/postgresql

chown postgres:postgres /etc/init.d/postgresql

vi /etc/init.d/postgresql,注意修改这两个地方:

prefix=/usr/local/pgsql

PGDATA="/data/server/pgdata"

2.8.1.2 验证用service方式启停数据库

#先关闭之前启动的数据库

usr/local/pgsql/bin/pg_ctl stop -D /data/server/pgdata

#验证用service方式启停数据库

#启库命令

service postgresql start

#关库命令

service postgresql stop

--备注:

需要用root用户执行service命令启停数据库,该启动脚本里会自动切换到postgres用户

2.8.1.3 设置开机自启动

chkconfig --add postgresql

2.8.2 CentOS 7版本的配置成用systemctl方式启动

2.8.2.1 新建service文件

cd /etc/systemd/system

vi postgresql.service,新增如下内容:

[Unit]

Description=PostgreSQL database server

Documentation=man:postgres(1)

Documentation=http://www.postgresql.org/docs/12/static/

After=network.target

[Service]

Type=forking

User=postgres

ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /data/server/pgdata

ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /data/server/pgdata

ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D /data/server/pgdata

TimeoutSec=300

Restart=on-failure

[Install]

WantedBy=multi-user.target

2.8.2.2 加载服务

systemctl daemon-reload

2.8.2.3 验证用systemctl方式启动

#先关闭之前启动的数据库

usr/local/pgsql/bin/pg_ctl stop -D /data/server/pgdata

#验证用systemctl方式启停数据库

#启库命令

systemctl start postgresql

#关库命令

systemctl stop postgresql

2.8.2.4 设置开机自启动

systemctl enable postgresql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux后台开发面试题

网络 网络的字节序网络知识 tcp三次握手 各种细节 timewait状态tcp 与 udp 区别 概念 适用范围TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办,为什么挥手不能只有三次,为什么time_wait。对于socket编程,accept方法是…

C++信息学奥赛1171:大整数的因子

该程序是一个寻找能够整除输入数字的最小正整数的程序。下面是代码的逻辑解析&#xff1a; #include <iostream> #include <string> #include <cstring>using namespace std;int main() {string n; // 定义一个字符串变量nint fale 0; // 用于标记是否能…

Flask-SQLAlchemy 快速上手

原文地址: 在底部查看原文(阅读体验更好) 视频地址: BV1Hh4y1j7jM Flask-SQLAlchemy 是 flask 的一个拓展插件,专门添加对 SQLAlchemy 的支持(ORM,关系对象模型)。使用它可以在 flask 中使用对象直接与 SQLAlchemy 进行交互,大大简化了 SQLAlchemy 与 flask 结合使用的过…

HJ3 随机数

描述 明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字&#xff0c;即相同的数字只保留一个&#xff0c;把其余相同的数去掉&#xff0c;然后再把这些数从小到大排序&#xff0c;按照排好的顺序输出。数据范围&#xff1a; 1≤n≤1000 &#xff0c;输入的数字大小…

企业形象片宣传片策划要从哪里展开

企业形象片宣传片是一种有效的营销工具&#xff0c;能够向潜在客户传达企业的核心价值观、品牌形象和产品服务。对于企业来说&#xff0c;一个成功的宣传片可以增加品牌知名度&#xff0c;提高销售额&#xff0c;并建立与客户的良好关系。然而&#xff0c;要想策划一部成功的企…

换行符转换

将\t\n、\n、多个\n\n\n...转换为\n\n。 import pandas as pd import re # 创建一个示例DataFrame data {msgText: [这是示例文本1&#xff0c;包含\t\n换行符,这是示例文本2&#xff0c;包含\n\n多个\n换行符,这是示例文本3&#xff0c;没有换行符]} df pd.DataFrame(data)…

题目:2833.距离原点最远的点

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;2833. 距离原点最远的点 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 遍历字符串&#xff0c;对 L&#xff0c;R 和 _ 字符计数。前两者计数结果之差的绝对值与 _ 字符的计数结果之和即为…

多语言开发(vant

参考&#xff1a;https://blog.csdn.net/qq_44649801/article/details/131878128?spm1001.2014.3001.5506 一、抛出字段对象A export default { } 二、引入汇总文件&#xff0c;&#xff08;主要的是 模块分割 汇总&#xff0c;对A 等的处理 export default { A&#xff0c;B,…

Redis RedLock算法和底层源码分析

Redlock红锁算法 官网地址&#xff1a;Distributed Locks with Redis | Redis 为什么要使用RedLock&#xff1f; 解释&#xff1a; 线程 1 首先获取锁成功&#xff0c;将键值对写入 redis 的 master 节点&#xff0c;在 redis 将该键值对同步到 slave 节点之前&#xff0c;mas…

使用 CSS 伪类的attr() 展示 tooltip

效果图: 使用场景: 使用React渲染后台返回的数据, 遍历以列表的形式展示, 可能简要字段内容需要鼠标放上去才显示的 可以借助DOM的自定义属性和CSS伪类的attr来实现 所有代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-…

Navicat导入Excel数据顺序变了

项目场景&#xff1a; Navicat导入Excel数据 问题描述 从Excel表格中导入数据到数据库中。但是&#xff0c;在导入的过程中&#xff0c;我们常会发现数据顺序出现了问题&#xff0c;导致数据错位&#xff0c;给数据的处理带来了极大的麻烦。 原因分析&#xff1a; 这个问题的…

linux 在文件夹里搜索哪个文件包含一段内容

在 Linux 中&#xff0c;您可以使用 grep 命令来在文件夹里搜索包含特定内容的文件。grep 是一种强大的文本搜索工具&#xff0c;可以用于查找文件中包含特定字符串或正则表达式的行。 要在文件夹中搜索包含特定内容的文件&#xff0c;可以使用以下命令&#xff1a; grep -r …

vue2.X 中使用 echarts5.4.0实现项目进度甘特图

vue2.X 中使用 echarts5.4.0实现项目进度甘特图 效果图&#xff1a; 左侧都是名称&#xff0c;上面是时间&#xff0c;当中的内容是日志内容 组件&#xff1a; gantt.vue <template><div id"main" style"width: 100%; height: 100%"></…

【Java Web】利用Spring整合Redis,配置RedisTemplate

1. 在config中加入RedisConfig配置类 package com.nowcoder.community.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFacto…

贪心算法 - 一点了解

贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 刷题或者面试的时候&#xff0c;手动模拟一下感觉可以局部最优推出整体最优&#xff0c;而且想不到反例&#xff0c;那么就试一试贪心。 贪心算法一般分为如下四步&#xff1a; 将问题分解为若干个子问题找…

Ansys Zemax | 用于照明设计中的光源

本课程提供照明系统中光源的介绍&#xff0c;作为照明系统光源的信息中心。本课是照明学习路径的第二课。在这一课中&#xff0c;将描述照明系统中的各种光源类型以及如何这些使用光源。光源是照明系统的起点和支点&#xff0c;可以说是照明设计中最关键的部分。 简介&#xff…

华为云云耀云服务器L实例评测|基于云耀云服务器部署Samba服务

本实验将使用华为云云耀云服务器L实例&#xff0c;使用CentOS 7.9系统&#xff0c;搭建部署Samba服务器&#xff0c;并在本地Windows端进行访问。 文章目录 1、samba介绍2、环境准备3、安装samba软件包4、修改smb.conf配置文件5、添加访问samba的用户6、Windows下访问Samba服务…

使用 multiprocessing 多进程处理批量数据

示例代码 import multiprocessingdef process_data(data):# 这里是处理单个数据的过程return data * 2# 待处理的数据 data [1, 2, 3, 4, 5]def normal_func():# 普通处理方式result []for obj in data:result.append(process_data(obj)return resultdef parallel_func():# …

解释htop命令输出结果

htop是Linux系统下的一个进程监视器&#xff0c;可以显示当前系统中正在运行的进程的资源占用情况&#xff0c;包括CPU、内存、磁盘IO等。它具有以下特点&#xff1a; 友好的交互式界面&#xff1a;htop的界面比top更加友好、直观&#xff0c;支持鼠标操作&#xff0c;可以方便…

【FAQ】视频监控管理平台/视频汇聚平台EasyCVR安全检查相关问题及解决方法3.0

智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力&#xff0c;作为安防视频监控综合管理平台&#xff0c;它支持多协议接入、多格式视频流分发&#xff0c;视频监控综合管理平台EasyCVR支持海量视频汇聚管理&#xff0c;可应用在多样化的场景上&…