linuxpg命令 linux命令pwd( 二 )


*在已有的表里添加字段:
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 DATABASEUSERIP-ADDRESSIP-MASKMETHOD
local allalltrust(无条件进行连接)
(2)允许IP地址为192.168.1.x的任何主机与数据库sales连接
TYPE DATABASEUSERIP-ADDRESSIP-MASKMETHOD
host salesall192.168.1.0255.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
localallhellenmd5
(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
Linux关闭gp数据库命令shutdown命令是最常用的关闭系统命令,不仅可以用于立即关闭系统,还可以在指定时间关闭系统 。
gp数据库常用操作:1、启动数据库:gpstartgpstart正常起数据库gpstart-R维护模式,普通用户无法登陆 , 只有超级用户能登陆gpstart-m只起master,起了后,只能用utility模式去登录master 。utility模式登录,只连某个实例 。
2、停止数据库:gpstopgpstop正常停止数据,如果数据库还有连接,就无法停止gpstop-Msmart同gpstopgpstop-Mfast停止数据库 , 如果有连接的话,会发cancle信号,等待连接中断,如果等待超时,则强制中断连接gpstop-Mimmediate强制中断所有连接gpstop-r重启数据库gpstop-m只停master , 最直接的禁止其他用户登陆数据库的方法
3、检查数据库状态:gpstategpstate查看基本的数据库状态统计数据gpstate-s查看数据库primary和mirror状态的详细信息gpstate-e查看失败实例的具体信息gpstate-m查看mirror实力状态gpstate-f查看standby的状态

推荐阅读