linux系统下postgres数据库安装及应用

204 阅读2分钟

我正在参与掘金创作者训练营第6期

本人亲测有效: Postgresql安装配置

  1. 打开postgresql官网地址, www.postgresql.org/,点击左上角的download,打开下载页面 在这里插入图片描述

  2. 进入版本选择界面,选择操作系统对应版本,以Linux-RedHat版本为例 在这里插入图片描述 在这里插入图片描述

  3. 如下选择对应的安装版本,会生成yum安装命令,如下图: 在这里插入图片描述

具体执行过程如下:

3.1 执行下面命令安装rpm包

yum install download.postgresql.org/pub/repos/y…

在这里插入图片描述

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

4.切换到postgres用户

su - postgres 在这里插入图片描述

  1. 修改默认用户的密码 执行psql命令,进入数据库命令行 在这里插入图片描述

然后执行下面命令,修改postgres的密码

ALTER USER postgres WITH PASSWORD 'postgres';

  1. 修改配置文件

执行如下命令:

vi /var/lib/pgsql/10/data/pg_hba.conf

进入postgres配置页面,将下图中的peer换成md5

在这里插入图片描述

回到root用户下,执行下面命令,重启数据库

su - root

systemctl restart postgresql-10

  1. 再次用postgres用户登入,这次需要数据密码,密码为”postgres”

su - postgres -bash-4.2$ psql 在这里插入图片描述

  1. 执行下面命令,创建数据库及相关用户和权限

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;

  1. 执行下面3条命令, 为数据库放开5432端口

firewall-cmd --zone=public --add-port=5432/tcp --permanent

systemctl restart firewalld.service

firewall-cmd --list-ports

  1. 设置允许远程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

11.导入数据

(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