基础准备:
1.一台可以联网的CentOS7 可以正常运行的机器
2.设置yum 软件源:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3.创建一个文件夹,把下载下来的rpm文件直接下载到这个文件夹下:
mkdir pg12_rpm_packs
4.下载pg server/client,contrib和其依赖的其他包,暂不安装:
yum install --downloadonly --downloaddir=./pg12_rpm_packs postgresql12-server postgresql12 postgresql12-contrib
5.压缩已经下载好的依赖包文件pg12_rpm_packs:
tar -czvf pg12_rpm_packs.tar.gz pg12_rpm_packs
6.导出压缩好的文件:
sz pg12_rpm_packs.tar.gz
**下面把下载好的rpm 文件导入我们要操作私有服务的介质服务器,然后把 pg12_rpm_packs.tar.gz 导入到没有外网的私有CentOS7 d的服务器上,目录看自己的需求: **
1.导入rpm
rz pg12_rpm_packs.tar.gz
2.解压pg12_rpm_packs.tar.gz
tar -xzvf pg12_rpm_packs.tar.gz
3.进入解压的文件夹查看rpm
cd pg12_rpm_packs
下面了解rpm的安装顺序,注意一定要按照顺序,否则安装失败
rpm -ivh postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm
进入var/lib 里面可以看到pgsql 的文件夹在普通用户下是无法查看里面的内容的,如果你有权限可以直接查看。
下面数据库的初始化具体操作
1.初始化数据库:
/usr/pgsql-12/bin/postgresql-12-setup initdb
注意没有权限的需要使用 sudo
2.配置开机启动与启动``
[pbsaga@localhost /]$ systemctl enable postgresql-12
[pbsaga@localhost /]$ systemctl start postgresql-12
3.修改密码
3.1 root用户下可以直接使用如下:
[root@localhost ~] su - postgres
-bash-4.2$ psql
postgres=# alter user postgres with password '123456';
postgres-# \q
* 注意设置密码后面的分号不可以忽略
3.2 非root用户直接修改密码就行了
切换用户
sudo -u postgres psql
或
sudo passwd postgres
配置远程访问
开放端口:
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
打开并编辑文件“/var/lib/pgsql/12/data/postgresql.conf”。将“#listen_addresses = ‘localhost’”改为“listen_addresses = ‘*’”
root 用户下:
vi /var/lib/pgsql/12/data/postgresql.conf
非root 用户:
sudo vi /var/lib/pgsql/12/data/postgresql.conf
打开并编辑文件“/var/lib/pgsql/12/data/pg_hba.conf”。在文件的末尾添加“host all all 0.0.0.0/0 md5”。
root 用户下
vi /var/lib/pgsql/12/data/pg_hba.conf
非root 用户下
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
通过第三方工具连接数据库时遇到的问题:
修改认证文件/var/lib/pgsql/data/pg_hba.conf,登陆使用密码。
#vi /var/lib/pgsql/data/pg_hba.conf
把这个配置文件中的认证 METHOD的ident修改为trust,可以实现用账户和密码来访问数据库,
即解决psql: 致命错误: 用户 “postgres” Ident 认证失败 这个问题)
第五步:重启postgresql服务器使设置生效
sudo systemctl restart postgresql-12
安装Python3支持包
下面是有外网的操作下载 下一篇文章会介绍离线安装python3
yum install postgresql12-plpython3
python扩展,需要打开数据库,执行如下SQL语句
CREATE extension plpython3u;
下载postgresql12-plpython3 rpm 文件到指定文件
yum install --downloadonly --downloaddir=./pg12_rpm_packs postgresql12-plpython3
然后传到内网的服务器上进行安装 ,前提一定要安装完python3 在安装这个依赖
下一篇文章介绍离线安装 python3