注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

postgresql数据库管理技巧集  

2014-04-26 16:52:23|  分类: 新型数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

0) 首要的说明
         postgresql其设计思想较mysql来得更为科学,所以postgesql现在应用越来越为广泛了。但是对于使用习惯了ui界面系统的用户而言,可能会有些不适。
        因为安全原因,postgresql没有安插默认的登录用户,很多时候,就把你挡在了入门之际。即便最强大ui管理web管理系统phppgadmin也不能为你直接进入界面处理。
postgresql数据库管理技巧集 - itoedr - itoedr的it学苑
很快安装好phppgadmin以后,进入界面却只能看到这样的情况--不能登录
 
        安装好postgresql之后,比如在ubuntu之下,#apt -install postgresql,这时它并不提示你输入默认用户的默认密码(mysql就好多了),它需要我们在命令行下,切换到postgresql的固有非登录管理用户postgres下,才能进行用户与数据库的创建操作。
       先行进入命令行窗口:
postgresql数据库管理技巧集 - itoedr - itoedr的it学苑
操作postgresql的入门钥匙:“sudo su postgres”
 postgresql数据库管理技巧集 - itoedr - itoedr的it学苑
进入postgres用户下后,再执行psql就可以了
一、用户管理
    前提:进入postgres用户权限下(或使用postgres开创的新的超级用户下);
   1)添加用户:
    命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名
    参数说明:
    [-a]:允许创建其他用户,相当于创建一个超级用户;
    [-A]:不允许此用户创建其他用户;
    [-d]:允许此用户创建数据库;
    [-D]:不允许此用户创建数据库;
    [-e]:将执行过程显示到Shell上;
    [-P]:创建用户时,同时设置密码;
    [-h 主机名]:为某个主机上的Postgres创建用户;
    [-p port]:与-h参数一同使用,指定主机的端口。
                   事实上,createuser只是对CREATE USER的封装。
    A.不带参数的创建用户
      createuser testuser
     Shall the new user be allowed to create databases? (y/n) n    --------是否可以创建数据库:否
     Shall the new user be allowed to create more new users? (y/n) n     ---------是否可以创建新用户:否
     CREATE USER
         注:不带数创建用户时,Postgres会询问此用户的权限,上面的例子创建了一个普通用户; 这等于CREATE USER testuser NOCREATEDB NOCREATEUSER;
    B.为指定的主机和端口上创建用户
         createuser -h 192.168.1.5 -p 5000 -D -A -e testuser   //其中-A的作用就是让此建用户可能继续创建其它用户;
         CREATE USER
     注:这个命令为主机192.168.1.5的5000端口创建用户testuser, 此用户不可以创建数据库和其他用户。
     C.创建超级用户
     createuser -P -d -a -e testuser
     Enter password for new user: testuser
     Enter it again: testuser
     CREATE USER
         注:这个命令在本地创建一个超级用户(-a),可以创建数据库(-d), 同时要求设置密码。 这等于CREATE USER testuser PASSWORD 'testuser' CREATEDB CREATEUSER;

     2) 删除用户:
    命令:dropuser [-i] [-h] [-p] [-e] 用户名
    参数说明:
    [ -i]:删除用户前,要求确认;
    [-h 主机名]:删除某个主机上的Postgres用户;
    [-p port]:与-h参数一同使用,指定主机的端口;
    [-e]:将执行过程显示到Shell上。
    事实上,dropuser只是对DROP USER的封装。
    A.删除本地的Postgres用户
     dropuser testuser
     DROP USER
    B.删除远程Postgres服务器上的用户
     dropuser -h192.168.1.5 -p 5000 -i -e testuser
     User "testuser" and any owned databases will be permanently deleted.
     Are you sure? (y/n) y
     DROP USER
     注:此命令删除主机192.168.1.5(-h)的5000端口(-p)的用户testuser,并且需要确认(-i); 这等于DROP USER "testuser";

3) 创建删除数据库
       有了你规划的用户则可以使用相关用户来创建对应的数据库了。
    A.创建数据库
        创建我的第一个数据库kanon:
       
        postgres是支持SQL标准最高的关系型数据库管理系统,当然,它支持CREATE DATABASE命令创建数据库,在此基础上,还对此命令做了扩展,增加了许多属性设置。
        比如owner、template、ecoding、tablespace等。
        那么,利用CREATE DATABASE创建kanon数据库语句如下:
        CREATE DATABASE kanon ENCODING 'LATIN1' TEMPLATE template0 OWNER kanon TABLESPACE kanonspace;
       
        另外,postgres还提供的自己的方言来创建数据库createdb,同样支持多个属性设置。
        比如--tablespace、--encoding、--owner、--template等。
        那么,利用createdb创建kanon数据库语句如下:
        createdb kanon --encoding LATIN1 --template template0 --owner kanon --tablespace kanonspace;
       
        事实上,createdb只是给create database命令做的一个外壳,目的是提高创建语句的便利性。(The program createdb is a wrapper program around this command, provided for convenience)
        但作为我个人,还是喜欢使用CREATE DATABASE 命令来创建数据库。
      B.删除数据库
        删除我刚才创建的数据库kanon:
        dropdb kanon
        DROP DATABASE kanon
  评论这张
 
阅读(114)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017