网站开发支持上传gif,wordpress 接口,百度推广登陆首页,在建项目备案人员查询一 下载
访问https://www.postgresql.org/download/#xff0c;点击左侧的‘source进行下载#xff0c;一般选择bz2的安装包。
二 安装
这里安装12.11版本的postgre#xff0c;数据目录路径为/data/server/pgdata#xff0c;端口为5432.
2.1 安装依赖包
#安装
yum in…一 下载
访问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新增如下内容
port5432
listen_addresses*
archive_modeon
archive_command test ! -f /data/server/pgdata/arch/%f cp %p /data/server/pgdata/arch/%f
log_destinationstderr
logging_collectoron
log_directorylog
log_filenamepostgresql-%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]
DescriptionPostgreSQL database server
Documentationman:postgres(1)
Documentationhttp://www.postgresql.org/docs/12/static/
Afternetwork.target [Service]
Typeforking
Userpostgres
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
TimeoutSec300
Restarton-failure
[Install]
WantedBymulti-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