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.hqwc.cn/news/101467.html

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

相关文章

Redis图文指南

1、什么是 Redis? Redis(REmote DIctionary Service)是一个开源的键值对数据库服务器。 Redis 更准确的描述是一个数据结构服务器。Redis 的这种特殊性质让它在开发人员中很受欢迎。 Redis不是通过迭代或者排序方式处理数据,而是…

Jmeter系列-Jmeter面板介绍和常用配置(2)

Jmeter面板介绍 常用菜单栏 分布式运行相关的 选项,可以打开日志,修改语言、函数助手对话框,还有管理插件 常用的图标 从左到右依次 新建测试计划选择测试计划模板创建一个新的测试计划打开jmeter脚本保存jmeter脚本剪切复制粘贴展开目录…

IP地址、子网掩码、网络地址、广播地址、IP网段

文章目录 IP地址IP地址分类子网掩码网络地址广播地址IP网段 本文主要讨论iPv4地址。 IP地址 实际的 IP 地址是一串32 比特的数字,按照 8 比特(1 字节)为一组分成 4 组,分别用十进制表示然后再用圆点隔开,这就是我们平…

css实现滚动条一直显示,并且实现滚动条样式的修改

css实现滚动条一直显示,并且实现滚动条样式的修改 自带的滚动条只有当鼠标移上去的时候才会显示,其他时候隐藏,这样用户很难看出这个是能划动的,这就需要滚动条一直显示在页面上,并且需要按照自己一定的样式去修改。 …

Unity ProBuilder(自己创建斜面、拐角)

目录 基础操作 下载 打开面板 新增对象 材质保存 1.斜面实例 2.拐角实例 3.切割实例 4.单独面赋值 基础操作 下载 打开面板 新增对象 选中想创建的块体后,在编辑器见面拉出块体 材质保存 打开材质编辑器后,将材质赋值,之后&am…

Datawhale × 和鲸科技丨《2023 中国人工智能人才学习白皮书》发布!

2023 是一个历史性的年份,它标志着人工智能技术的崛起与普及,这一年里,AI 不仅在科技、经济、社会、文化等各个领域取得突破性的进展,也在人类日常生活中扮演愈加重要的角色。随着人工智能时代的加速到来,我国 AI 人才…

【SpringBoot】统一功能处理

目录 🎃1 拦截器 🎀1.1 拦截器的代码实现 🎨1.2 拦截器的实现原理 🧶2 拦截器应用——登录验证 🦺3 异常统一处理 🎭4 统一数据返回格式 🧤4.1 为什么需要统一数据返回格式 🧣4.2 统…

MySQL 存储引擎,你了解几个?

引言 MySQL是一种流行的关系型数据库管理系统(RDBMS),它支持多种不同的数据库引擎。数据库引擎是用于存储、管理和检索数据的核心组件,它们直接影响着数据库的性能、可靠性和功能,接下来本文介绍下一些常见的MySQL数据…

外滩大会今日开幕 近20位“两院”院士、诺贝尔奖和图灵奖得主齐聚

2023 Inclusion外滩大会9月7日在上海黄浦世博园正式开幕。这场以“科技创造可持续未来”为主题的大会为期三天,近20位“两院”院士、诺贝尔奖和图灵奖得主,全球超500位有影响力的科技领军企业和专家学者,将在此带来一场科技、人文和产业的思想…

Python入门自学进阶-Web框架——40、redis、rabbitmq、git——3

git,一个分布式的版本管理工具。主要用处:版本管理、协作开发。 常见版本管理工具: VSS —— Visual Source Safe CVS —— Concurrent Versions System SVN —— CollabNet Subversion GIT GIT安装:下载安装文件:…

大数据安全 | (一)介绍

目录 📚大数据安全 🐇大数据安全内涵 🐇大数据安全威胁 🐇保障大数据安全 ⭐️采集环节安全技术 ⭐️存储环节安全技术 ⭐️挖掘环节安全技术 ⭐️发布环节安全技术 🐇大数据用于安全 📚隐私及其…

【Unity-Cinemachine相机】虚拟相机(Virtual Camera)的本质与基本属性

我们可以在游戏进行时修改各个属性,但在概念上,最好将Virtual Camera 当作一种相机行为的“配置文件”,而不是一个组件。 我们的相机有几种行为就为它准备几种虚拟相机,比如角色移动就为它第三人称相机,瞄准就准备一个…