PostgreSQL基本操作

目录

1.源码安装PostgreSQL

1.1.前置条件(root下操作)

1.1.1.卸载yum安装的postgresql

1.1.2.创建postgres用户

1.1.3.安装部分依赖

1.2.安装PostgreSQL

1.2.1.使用postgres用户管理PostgreSQL

1.2.2.下载解压postgres12源码包

1.2.3.编译及安装

1.2.4.安装contrib工具

1.2.5.配置环境变量

1.2.6.初始化postgreSQL 

1.3.PostgreSQL服务基本管理

1.3.1启动数据库

1.3.2停止数据库

1.3.3 重启数据库

1.3.4 查看数据库状态

1.3.5 设置允许远程访问配置

2.psql基本使用

2.1.登录PostgreSQL数据库

2.2.断开psql客户端

2.3."?"查询PostgreSQL支持的所有命令

2.4."\l"查看所有数据库

2.5."\c"切换数据库

2.6."\d"看当前数据库中所有表、视图、序列

2.7."\d tablename"查看该表的表定义

2.8."\db"查看表空间的信息

2.9."\dn"查看所有的模式信息

2.10."\du"或”\dg"查看数据库中的所有角色或用户

2.11."\dt+ tablename"查看表大小

2.12."\di+"查看索引大小

2.13."\h 命令"查看SQL命令语法

2.14."\timing"显示SQL语句执行时间

2.15.“\x”可以把按行展示的数据变成按列展示

2.16.自动提交功能

2.17.查看数据库版本


1.源码安装PostgreSQL

1.1.前置条件(root下操作)

1.1.1.卸载yum安装的postgresql

#检查是否已经通过rpm安装postgresql数据库
rpm -qa|grep postgresql
# 卸载 包含postgresql名的程序包
yum remove postgresql*
# 删除postgres用户及其对应的用户目录(/home/postgres)
userdel -r postgres
# 检查是否存在 /usr/psqlXXX文件夹,有的话删除,例如
rm -rf /usr/pgsql-12

1.1.2.创建postgres用户

# 创建postgres用户
useradd postgres
# 为postgres用户设置密码
passwd postgres    

1.1.3.安装部分依赖

yum install -y perl-ExtUtils-Embed python-devel bison flex readline-devel zlib-devel gcc gcc-c++ wget libicu-devel

1.2.安装PostgreSQL

1.2.1.使用postgres用户管理PostgreSQL

# 切换用户
su postgres
# 回到用户目录
cd ~

1.2.2.下载解压postgres12源码包

tar -zxvf postgresql-12.13.tar.gz

1.2.3.编译及安装

# 新建PostgreSQL安装路径下的文件夹(/data/opt/postgresql)
mkdir postgresql
# 进入解压后的源码文件夹(/home/postgres/postgresql-12.13)
cd postgresql-12.3


# 检查、并配置(--prefix=/data/opt/postgresql 为配置postgreSQL的安装路径)
./configure --prefix=/data/opt/postgresql --with-blocksize=32 --with-wal-blocksize=32 --with-wal-segsize=64
-–prefix 指定安装目录。
--with-perl 
--with-python 
--enable-thread-safety 
--with-uuid=ossp
-–with-blocksize 以KB为单位设置block size。此为表中存储及I/O的单位。默认为8kb。值必须为2的1到32次方(kb),可选。
-–with-wal-blocksize 以kb为单位,设置WAL block size。此为WAL日志中存储及I/O的单位。默认为8kb。值必须为2的1到64次方(kb),可选。
-–with-wal-segsize 设置WAL段大小,以兆字节为单位。这是WAL日志中每个文件的大小。默认大小为16兆字节。该值必须是1到64(兆字节)之间的2的幂,可选。
注意:数据块、WAL日志块的大小需要在编译的时候配置才生效,对应此时编译出来的PostgreSQL程序创建的PostgreSQL数据库,不能使用其他块大小的PostgreSQL程序启动!!!

# 编译及安装
make && make install

1.2.4.安装contrib工具

cd postgresql-12.3/contrib
make && make install

1.2.5.配置环境变量

# 编辑 .bash_profile
# vi ~/.bash_profile

PGHOME=/data/opt/postgresql
PGDATA=/data/pgdata
PATH=$PATH:$PGHOME/bin

export PATH PGHOME PGDATA


# 保存,退出(命令模式下Esc)
# 输入: wq!  Enter(回车)
# 重载.bash_profile
source ~/.bash_profile

1.2.6.初始化postgreSQL 

# /data/pgdata为postgres数据文件的存放路径,如果环境变量已经配置PGDATA=/data/pgdata,则 -D /data/pgdata 参数可不加
initdb -D /data/pgdata

1.3.PostgreSQL服务基本管理

1.3.1启动数据库

        # /data/pgdata为postgres数据文件的存放路径,里面也有一些配置文件,如果环境变量已经配置PGDATA=/data/pgdata,则 -D /data/pgdata 参数可不加
启动:pg_ctl -D /data/pgdata -l logfile start

1.3.2停止数据库

停止:pg_ctl -D /data/pgdata -l logfile stop [-m smart]
-m 用于指定数据库停止方式:
smart: smart模式等待所有客户端断开连接以及任何在线备份结束。如果该服务器是热备,一旦所有的客户端已经断开连接,恢复和流复制将被终止。
fast: fast模式(默认)不会等待客户端断开连接并且将终止进行中的在线备份。所有活动事务都被回滚并且客户端被强制断开连接,然后服务器被关闭。
immediate: immediate模式将立刻中止所有服务器进程,而不是做一次干净的关闭。这将导致下一次重启时进行一次崩溃恢复。

1.3.3 重启数据库

重启:pg_ctl -D /data/pgdata -l logfile restart

1.3.4 查看数据库状态

查看状态:pg_ctl -D /data/pgdata -l logfile status

1.3.5 设置允许远程访问配置

        修改pg_hba.conf文件,在最后一行添加添加:

#vi /data/pgdata/pg_hba.conf

host    all             all             0.0.0.0/0               md5

        修改postgresql.conf文件,设置监听所有端口:

#vi /data/pgdata/postgresql.conf

listen_addresses = '*'

        重启数据库:

pg_ctl  -l logfile restart

2.psql基本使用

        psql是PostgreSQL的一个命令行交互式客户端工具,它具有非常丰富的功能,类似于Oracle的命令行工具sqlplus。

2.1.登录PostgreSQL数据库

使用psql命令登录数据库,格式:psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
-h后面的IP地址(192.168.1.210)是数据库所在的IP地址
-p后面的端口(5432)是数据库的监听端口
-U后面的参数(postgres)是创建的用户名
-d后面的参数(postgres)是创建的数据库名称

#修改密码

ALTER USER postgres WITH PASSWORD '12345';

2.2.断开psql客户端

按Ctrl+D组合键 或输入命令:\q

2.3."?"查询PostgreSQL支持的所有命令

2.4."\l"查看所有数据库

2.5."\c"切换数据库

2.6."\d"看当前数据库中所有表、视图、序列

2.7."\d tablename"查看该表的表定义

2.8."\db"查看表空间的信息

2.9."\dn"查看所有的模式信息

2.10."\du"或”\dg"查看数据库中的所有角色或用户

2.11."\dt+ tablename"查看表大小

2.12."\di+"查看索引大小

2.13."\h 命令"查看SQL命令语法

2.14."\timing"显示SQL语句执行时间

再执行一次关闭

2.15.“\x”可以把按行展示的数据变成按列展示

2.16.自动提交功能

方法1:运行”begin”命令,然后执行DML语句,最后再执行commint或rollback预计
方法2:执行”\set AUTOCOMMIT off”关闭自动提交功能。AUTOCOMMINT必须是大小,小写无效也不报错。

2.17.查看数据库版本

方法1:psql –version
方法2:select version();

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_37559973

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值