本人亲测有效:
Postgresql安装配置
-
打开postgresql官网地址, https://www.postgresql.org/,点击左上角的download,打开下载页面
-
进入版本选择界面,选择操作系统对应版本,以Linux-RedHat版本为例
-
如下选择对应的安装版本,会生成yum安装命令,如下图:
具体执行过程如下:
3.1 执行下面命令安装rpm包
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3.2 执行下面命令,安装数据库
yum install postgresql10-server
3.3 执行下面命令,初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
3.4 执行下面命令,设置数据库开机自启动
systemctl enable postgresql-10
3.5 启动数据库
systemctl start postgresql-10
-
切换到postgres用户
su - postgres
-
修改默认用户的密码
执行psql命令,进入数据库命令行
然后执行下面命令,修改postgres的密码
ALTER USER postgres WITH PASSWORD ‘postgres’;
- 修改配置文件
执行如下命令:
vi /var/lib/pgsql/10/data/pg_hba.conf
进入postgres配置页面,将下图中的peer换成md5
回到root用户下,执行下面命令,重启数据库
su - root
systemctl restart postgresql-10
-
再次用postgres用户登入,这次需要数据密码,密码为”postgres”
su - postgres
-bash-4.2$ psql
-
执行下面命令,创建数据库及相关用户和权限
create user metauser with password ‘metauser!’;
create user dc_sys with password ‘dc_sys!’;
create database dcmetadb owner dc_sys;
grant all privileges on database dcmetadb to metauser;
grant all privileges on database dcmetadb to dc_sys;
\c dcmetadb
create schema sysdb;
grant all on schema sysdb to dc_sys;
alter database dcmetadb set search_path to sysdb;
alter role dc_sys set search_path to sysdb;
\q
psql -Umetauser dcmetadb
输入密码:metauser!
create schema metadb;
grant all on schema metadb to metauser;
alter role metauser set search_path to metadb;
-
执行下面3条命令, 为数据库放开5432端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --list-ports -
设置允许远程IP连接
执行下面命令,修改pg_hba.conf文件,加入下图中标红的行
vi /var/lib/pgsql/10/data/pg_hba.conf
执行下面命令,修改postgresql.conf,将listen_addresses 改为 *,如下图
vi /var/lib/pgsql/10/data/postgresql.conf
切回root用户执行下面命令,重启数据库
su - root
systemctl restart postgresql-10
- 导入数据
(1)将sysdb.sql 和 metadb.sql 放到服务器的/home/postgres目录下,如果不存在该目录,执行下面的命令创建目录
mkdir /home/postgres
chown postgres /home/postgres
(2)执行 su - postgres 命令,切换到postgres用户
(3)执行 psql -Udc_sys dcmetadb 命令, 输入密码,进入dcmetadb数据库
(4)执行下面命令,创建sysdb中的表
\i /home/postgres/sysdb.sql
\q
(5) 执行 psql -Umetauser dcmetadb 命令,输入密码,进入dcmetadb数据库
(6)执行下面命令,创建metadb中的表
\i /home/postgres/busidb-schema.sql
\q