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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PostgreSQL是一个开源的关系型数据库管理系统,它拥有完善的开发文档,方便开发者学习和使用。 PostgreSQL的开发文档包含了详细的介绍、教程、参考手册和示例代码等内容。首先,它提供了对PostgreSQL的基本认识,比如它的历史、特性和优势等,让开发者对PostgreSQL有一个整体的了解。 其次,开发文档提供了丰富的教程,引导开发者从入门到精通。这些教程详细介绍了如何安装和配置PostgreSQL,如何创建和管理数据库,以及如何进行常见的数据库操作,如数据查询、插入、更新和删除等。同时,它还提供了高级的主题教程,如事务管理、索引优化和性能调优等,帮助开发者更深入地掌握PostgreSQL的使用技巧。 除了教程,开发文档还提供了完整的参考手册。这个手册详细介绍了PostgreSQL的每个功能和命令的语法、参数和用法。开发者可以通过手册快速查找和学习具体的特性和命令,提高开发效率。 此外,开发文档还包含了大量的示例代码,展示了如何使用不同编程语言与PostgreSQL进行交互。无论是Java、Python、C#等主流编程语言,都可以在开发文档中找到相应的示例代码和API文档,方便开发者开发自己的应用程序。 总之,PostgreSQL的开发文档非常全面和详尽,可以帮助开发者快速入门和深入学习PostgreSQL的使用。无论是初学者还是有经验的开发者,都能从中获得帮助,并更好地应用PostgreSQL来构建稳定和可靠的数据库应用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值