本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告

PostgreSQL教程(3)PostgreSQL的DDL与DML

发布:TangLu2020-8-27 17:29分类: PostgreSQL 标签: 数据库 PostgreSQL

一、PostgreSQL服务管理命令

1、pg_ctl——PGSQL启动与停止命令

pg_ctl  start | stop | restart | reload | status | kill | register | unregister [-D] [-l] [-m] [-w]
pg_ctl start -D /data/postgresql/data/
pg_ctl stop -D /data/postgresql/data/ -m fast
#-D datadir:指定数据库文件系统路径,如果忽略则是PGDATA变量所指定的路径
#-l filename:指定服务器日志输出附加文件,如果不存在则自动创建,该文件默认不允许其他用户访问
#-m mode:关闭模式,分为smart、fast、immediate三种模式,可以用首字母简写,通常使用fast模式
#-w:启动或者停止服务所等待的超时时间


2、psql——PGSQL客户端命令

psql -h192.168.0.103 -U postgres -p5432 -d linuxe
#-U:指定用户名
#-p:指定服务端口
#-h:指定服务地址
#-d:指定连接数据库
#-f:导入指定的sql
#连接参数也可以用环境变量指定,这样就不用每次手写参数
export PGDATABASE=linuxe
export PGHOST=192.168.0.103
export PGPORT=5432
export PGDUSER=postgres


3、\help命令——用于查看各个子命令的语法帮助

\help create 
\help create databse
\help create user


4、\l命令——也就是list,用于列出所有已创建的数据库,支持通配符过滤

\l 
\l +  #显示的信息更完整,包含了数据库大小、所有者、权限、表空间等


5、\d 命令——也就是display,用于查看数据库信息,支持通配符过滤

\d  #列出当前库下的所有表
\d table_name  #跟上表名显示表结构,支持通配符
\db  #显示所有表空间
\dn  #列出所有schema
\du  #显示所有用户或角色,也可以写为\dg
\dp  table_name  #显示表的权限分配情况,也可以跟+号显示更详细


6、\i命令——也就是import,执行指定SQL文件

\i /data/test.sql


7、\q命令——退出数据库


8\c命令——用于切换用户或者数据库

\c tanglu  #切换到tanglu用户
\c postgres postgres #使用postgres用户切换到postgres,前面是库名,后面是用户名


9、\password命令——用于修改用户密码

#方法1
\password tanglu  #交互形式修改tanglu用户密码

#方法2
alter user tanglu with password '123456'


二、PostgreSQL的DDL、DML语法

1、create database命令——创建库,相比MySQL多了一个owner的选项

CREATE DATABASE db_linuxe [ OWNER = user_name]  #如果不写owner信息,该库默认属于当前执行命令的用户


2、create user命令——创建用户并设置用户权限和密码信息等

CREATE USER name [ [ WITH ] option [ ... ] ]
CREATE USER tanglu WITH PASSWORD '123456' SUPERUSER  #使用PASSWORD选项来创建密码,和mysql的identified不同
CREATE USER tom WITH PASSWORD '123456' SUPERUSER;  #创建一个超管用户



3、GRANT命令——为数据库用户授权,和MySQL类似的

GRANT CREATE ON  DATABASE db_linuxe TO "user_name";


4、alter database命令——修改数据库各种参数

ALTER DATABASE db_linuxe  CONNECTION LIMIT 10;  #修改数据库最大连接数为10
ALTER DATABASE db_linuxe  RENAME TO new_name;  #修改数据库名为new_name
ALTER DATABASE db_linuxe  OWNER TO new_user;  #修改数据库属主
ALTER DATABASE db_linuxe  SET TABLESPACE new_space;  #修改表空间
ALTER DATABASE db_linuxe  SET configuration_parameter TO new_value  #修改配置信息


5、CREATE SCHEMA命令——建立SCHEMA,这个类似于名称空间,在每个database下可以建立多个SCHEMA,然后每个schema下又可以存在不同的表

create user tanglu;
create schema linuxe authorization tanglu;
\dn linuxe  #查看指定schema下的信息


6、DROP DATABASE命令——删除数据库

DROP DATABASE db_linuxe;



7、CREATE TABLE命令——创建表,在PGSQL中由于多了一层SCHEMA的概念,所以建表的时候要多写一个SCHEMA信息,否则会创建在默认SCHEMA中

CREATE TABLE schema_name.table_name(
   ID INT PRIMARY KEY  NOT NULL,
   NAME  CHAR(50) NOT NULL
);
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《PostgreSQL教程(3)PostgreSQL的DDL与DML
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-614.html  [生成短网址]

已有 0/142 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~