`

postgreSql基础命令及linux下postgreSql命令

阅读更多
(1)用户实用程序:

createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同)

createuser 创建一个新的PostgreSQL的用户(和SQL语句:CREATE USER 相同)

dropdb 删除数据库

dropuser 删除用户

pg_dump 将PostgreSQL数据库导出到一个脚本文件

pg_dumpall 将所有的PostgreSQL数据库导出到一个脚本文件

pg_restore 从一个由pg_dump或pg_dumpall程序导出的脚本文件中恢复PostgreSQL数据库

psql 一个基于命令行的PostgreSQL交互式客户端程序

vacuumdb 清理和分析一个PostgreSQL数据库,它是客户端程序psql环境下SQL语句VACUUM的shell脚本封装,二者功能完全相同

(2)系统实用程序

initdb 创建一个用于存储数据库的PostgreSQL数据目录,并创建预定义的模板数据库template0和template1,生成共享目录表 catalog;此程序通常只在安装PostgreSQL时运行一次

initlocation 创建一个辅助的PostgreSQL数据库存储区域

ipcclean 从停止的PostgreSQL服务器中清除共享内在和孤立信号标志

pg_ctl 启动、停止、重启PostgreSQL服务(比如:pg_ctl start 启动PostgreSQL服务,它和service postgresql start相同)

pg_controldata 显示PostgreSQL服务的内部控制信息

postgres PostgreSQL单用户模式的数据库服务

postmaster PostgreSQL多用户模式的数据库服务

4.这里面最重要的是psql这个客户端程序最为重要。启用客户端程序psql的方法是:

切换到PostgreSQL预定义的数据库超级用户postgres,启用客户端程序psql,并连接到自己想要的数据库,比如说:

psql template1

出现以下界面,说明已经进入到想要的数据库,可以进行想要的操作了。

template1=#

5.在数据库中的一些命令:

template1=# \l 查看系统中现存的数据库

template1=# \q 退出客户端程序psql

template1=# \c 从一个数据库中转到另一个数据库中,如template1=# \c sales 从template1转到sales

template1=# \dt 查看表

template1=# \d 查看表结构

template1=# \di 查看索引
[基本数据库操作]========================
*创建数据库:
create database [数据库名];

*查看数据库列表:
\d

*删除数据库:
drop database [数据库名]; 

创建表:
create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);

*查看表名列表:
\d

*查看某个表的状况:
\d [表名]

*重命名一个表:
alter table [表名A] rename to [表名B];

*删除一个表:
drop table [表名];
========================================

[表内基本操作]==========================
*在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];

*删除表中的字段:
alter table [表名] drop column [字段名];

*重命名一个字段: 
alter table [表名] rename column [字段名A] to [字段名B];

*给一个字段设置缺省值: 
alter table [表名] alter column [字段名] set default [新的默认值];

*去除缺省值: 
alter table [表名] alter column [字段名] drop default;

在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];

删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];--删空整个表


6.要注意随时对数据库进行清理、收回磁盘空间并更新统计信息,使用下面的命令就搞定!

vaccumdb -d sales -z

-a 对所有的数据库操作

-z 保证不断地删除失效的行,节约磁盘空间,将统计信息更新为最近的状态

7.PostgreSQL用户认证

PostgreSQL数据目录中的pg_hba.conf的作用就是用户认证,可以在/var/lib/pgsql/data中找到。

有以下几个例子可以看看:

(1)允许在本机上的任何身份连接任何数据库

TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD

local all             all                                 trust(无条件进行连接)

(2)允许IP地址为192.168.1.x的任何主机与数据库sales连接

TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD

host sales            all      192.168.1.0    255.255.255.0 ident sameuser(表明任何操作系统用户都能够以同名数据库用户进行连接)

8.看了那么多,来一个完整的创建PostgreSQL数据库用户的示例吧

(1)进入PostgreSQL高级用户

(2)启用客户端程序,并进入template1数据库

psql template1

(3)创建用户

template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen'

(4)因为设置了密码,所以要编辑pg_hba.conf,使用户和配置文件同步。

在原有记录上面添加md5

local    all    hellen      md5

(4)使用新用户登录数据库

template1=# \q

psql -U hellen -d template1

PS:在一个数据库中如果要切换用户,要使用如下命令:

template1=# \!psql -U tk -d template1

9.设定用户特定的权限

还是要用例子来说明:

创建一个用户组:

sales=# CREATE GROUP sale;

添加几个用户进入该组

sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3;

授予用户级sale针对表employee和products的SELECT权限

sales=# GRANT SELECT ON employee,products TO GROUP sale;

在sale中将用户user2删除

sales=# ALTER GROP sale DROP USER sale2;

10.备份数据库


可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:

pg_dump sales>/home/tk/pgsql/backup/1.bak
分享到:
评论

相关推荐

    postgreSql基础命令及linux下postgreSql命令.pdf

    postgreSql基础命令及linux下postgreSql命令.pdf

    postgreSQL pgsql13.5 windows安装与 Linux 安装 及 常见命令 教程

    本文是postgreSQL 13.5 windows安装与 Linux 安装 及 常见命令, 由作者自身一步步实践写出来了,主要也是为了记录下操作步骤备忘. 全文通俗易懂,图文并茂一步步安装 和 并使用psql 常规命令; 本文是postgreSQL 13.5 ...

    Linux中一键重启postgresql的脚本命令

    Linux中一键重启postgresql的脚本命令

    postgresql常用命令

    postgresql常用的命令,在linux下对postgresql操作的常用命令.

    postgresql-9.4.15-1-linux-x64.run

    此工具适用于Redhat-6.x、CentOS-6.x等linux操作系统,工具使用时可以直接安装,进入图形化操作界面,不用过多考虑依赖包的问题,安装过程...卸载:进入安装目录,运行uninstall-postgresql命令,进入图形化卸载界面。

    postgresql12主从集群安装

    postgresql12主从集群安装,复制命令去linux系统粘贴就行了。从单个pg数据库搭建到主从集群安装跟着命令一步一步执行。

    Linux使用脚本一键安装PostgreSQL

    2. 安装完成后也自动完成了PostgreSQL的基本配置,包括远程访问,监听地址等。 3. 一键升级PostgreSQL 4. 监控PostgreSQL进程运行资源占用 5. 重启PostgreSQL 6. 也可以通过"systemctl status/start/stop postgresql...

    linux 下 postgresql 的安装 备份

    较为详细的 postgresql 数据库安装方法。如有疑问或发现错误 请留言。

    Linux CentOS 7安装PostgreSQL9.3图文教程

    由于我们没有什么特殊需求所在在此选择较为简单的方式——二进制安装包安装,二进制包安装的方法一般都是通过不同发行版本的Linux下的包管理器进行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令来安装,...

    Centos7安装PostgreSql全自动部署脚本完整版

    ①添加【postgres】用户,数据库安装在postgres用户目录【/home/postgres/disk_d/applications/service/postgresql】路径下, ②给新用户授权 ③解压数据库文件 ④安装数据库依赖包 ⑤编译数据库 ⑥安装数据库 ⑦...

    linux下shell脚本实现数据的导出

    原因是程序放在root用户下,要runtime执行exp的话,root不认exp命令;找了好多资料,最后决定写个shell脚本;没接触过shell脚本,网上大部分例子都写的挺复杂的;贴个简单的,不带传参什么的;只是最简单的数据表的...

    炼数成金深度学习PostgreSQL.txt

    第二课Postgresql使用基础:客户端使用、基本对象管理。第三课Postgresql使用基础:开发应用中的基本特性。第四课Postgresql使用高级:全库备份还原。第五课Postgresql使用高级:双机环境搭建。第六课Postgresql使用...

    Linux服务器常用命令(简化版).docx

    Linux服务器常用命令(简化版) 11 1 1 Linux服务器常用命令(简化版)全文共74页,当前为第1页。Linux服务器常用命令(简化版)全文共74页,当前为第1页。Linux服务器常用命令(简化版) Linux服务器常用命令(简化版)全文共...

    15个postgresql数据库实用命令分享

    最初是想找postgresql数据库占用空间命令发现的这篇blog,发现其中提供的几 条命令很有用(但也有几条感觉是充数的=。=),于是就把它翻译过来了。另外这篇文章是09年的,所以里面的内容可能有点过时,我收集了...

    linux下安装部署java web

    个人在linux下安装部署的一些文档。主要是指jdk,tomcat、openoffice、postgresql安装和一些常用命令

    Linux中文手册

    10.Linux部分命令简介 11.Lilo.conf (LILO 配置文件) 手册 12.设置和修改 X Window 的显示模式 13.linux使用经验点滴 14.Linux下文件操作编程和GAWK的介绍和应用 15.如何为Linux添加软件详解 16.LINUX的引导...

    PostgreSQL 语法

    默认情况下 PostgreSQL 安装完成后,自带了一个命令行工具 SQL Shell(psql)。 Linux 系统可以直接切换到 postgres 用户来开启命令行工具: # sudo -i -u postgres Windows 系统一般在它的安装目录下: Program Files...

    通过虚拟机安装Postgresql.docx

    简单的在虚拟机linux环境下安装postgresql,希望能帮到大家,里面有软件下载地址,百度网盘上免费提取

Global site tag (gtag.js) - Google Analytics