Centos系统上安装PostgreSQL和常用PostgreSQL功能

news/2024/7/9 19:32:05 标签: centos, postgresql, linux

安装环境

软件版本
CentOSCentOS 7.x
PostgreSQL9.x-12.x

PostgreSQL安装

1、导入yum源

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2、安装PostgreSQL服务

sudo yum install -y postgresql12 postgresql12-server

3、初始化数据库

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

#Initializing database ... OK

4、启动PostgreSQL服务

#启动PostgreSQL服务
sudo systemctl start postgresql-12

#设置PostgreSQL服务为开机启动
sudo systemctl enable postgresql-12

修改postgres账号密码

PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。

postgres数据库中会初始化一名超级用户postgres

为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码

1、进入PostgreSQL命令行

通过su命令切换linux用户为postgres会自动进入命令行

su postgres

2、启动SQL Shell

psql

3、修改密码

ALTER USER postgres WITH PASSWORD 'NewPassword';

配置远程访问

1、开放端口

sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

2、修改IP绑定

#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf

#将监听地址修改为*
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行
listen_addresses='*'

3、允许所有IP访问

#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf

#在问价尾部加入
host  all  all 0.0.0.0/0 md5

4、重启PostgreSQL服务

#重启PostgreSQL服务
sudo systemctl restart postgresql-12

配置完成后即可使用客户端进行连接

PostgreSQL shell常用语法示例

启动SQL shell:

su postgres
psql

1、数据库相关语法示例

#创建数据库
CREATE DATABASE mydb;

#查看所有数据库
\l

#切换当前数据库
\c mydb

#创建表
CREATE TABLE test(id int,body varchar(100));

#查看当前数据库下所有表
\d

2、用户与访问授权语法示例

#新建用户
CREATE USER test WITH PASSWORD 'test';

#赋予指定账户指定数据库所有权限
GRANT ALL PRIVILEGES ON DATABASE mydb TO test;

#移除指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE mydb TO test

权限代码:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE


http://www.niftyadmin.cn/n/5338772.html

相关文章

MySQL中对数值类型数据的处理

⭕️前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家(点击跳转到网站)⭕️ MySQL针对日期的处理、运算符等 常见运算符 算术运算符:加减乘除、求余数 、-、、/、% 比较运算符:等于…

逻辑分析仪之RP2040 的板卡

逻辑分析仪是一种电子仪器,可捕获并显示来自数字系统或数字电路的多个信号。逻辑分析仪可以将捕获的数据转换为时序图、协议解码、状态机跟踪、操作码,或者可以将操作码与源级软件相关联。逻辑分析仪具有先进的触发功能,当用户需要查看数字系…

关于js的BigInt的使用与注意事项

说明 BigInt是一种内置对象,提供了一种方法来表示大于2^53 - 1 的整数,2^53 - 1 为Number可以表示的最大数字,BigInt可以突破限制,可以用任意精度表示整数,超出Number的安全整数限制,也可以安全地存储和操…

监督学习、半监督学习、无监督学习三者的本质区别是什么,代表算法有哪些?

问题描述:监督学习、半监督学习、无监督学习三者的本质区别是什么,代表算法有哪些? 问题解答: 监督学习、半监督学习和无监督学习是机器学习中的三种主要学习范式,它们的本质区别主要在于训练数据的标签和学习目标。…

数据结构与算法-二叉树-层次遍历I

二叉树层次遍历I 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]思路&…

props传值

文章目录 props用于父组件向子组件传递数据&#xff0c;从而实现组件之间的通信。 以下是使用props的详细步骤&#xff1a; 父组件中定义 props&#xff1a; 在父组件中&#xff0c;通过在子组件的标签上添加属性来定义要传递的数据。这些属性就是props。 <!-- ParentCompon…

MySQL的一些综合运用

一些基本的语句&#xff1a; USE dept_emp; CREATE TABLE dept ( deptno INT(2) NOT NULL COMMENT 部门编号, dname VARCHAR (15) COMMENT 部门名称, loc VARCHAR (20) COMMENT 地理位置 ); -- 添加主键 ALTER TABLE dept ADD PRIMARY KEY (deptno); -- 添加数据 INSE…

【Effective C++】3. 资源管理

Item13 以对象管理资源 资源&#xff1a; 内存、文件描述符、互斥锁、数据库链接和网络socket等&#xff0c;用了需要还给操作系统异常、函数多重返回路径和程序员不恰当的改动&#xff0c;会导致资源没有释放 考虑以下场景&#xff0c;delete都不会执行&#xff0c;资源都会…