美文网首页
Postgresql基础操作

Postgresql基础操作

作者: 嘿嘿_小于同学 | 来源:发表于2017-03-10 21:29 被阅读400次

    Tip:本人安装的postgresql版本是psql (PostgreSQL) 9.6rc1

    1、命令行登录数据库

    psql -U 用户名 -d 连接数据库的名字 [还可以填上服务器地址和端口5432]
    psql -U ricky -d mydb
    

    如果psql mydb
    则默认使用登陆系统的用户名连接数据库,如果系统的默认用户名和数据库名相同直接可以省掉数据库名,直接psql
    登陆成功后可能出现两种提示符:

    mydb=> 表示普通的用户
    mydb=> 表示数据库的超级用户
    

    2、使用图形界面管理数据库

    可以使用pgAdmin图形界面管理工具,这个工具在安装数据库的同时就可以安装。

    3、退出shell

    使用\q退出

    mydb=> \q
    

    4、反斜杠

    psql程序中有些不属于SQL命令,是以反斜杠开头。
    比如\h可以查看帮助信息。

    基础操作

    • 查看所有用户
    my_db=# \du
                                 角色列表
     角色名称 |                    属性                    | 成员属于
    ----------+--------------------------------------------+----------
     postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
     ricky    | 超级用户, 建立角色, 建立 DB                | {}
    
    • 更改密码
    my_db=# \password ricky   这里修改了用户ricky的密码
    输入新的密码:
    
    • 删除用户
    my_db=# drop user ricky;
    错误:  当前用户不能被删
    

    之所以会出现这样的错误是因为使用当前数据库的用户正要被删除,这样是不允许的。应该使用超级管理员登录数据库系统,然后删除该用户。

    • 创建数据库
    mydb=# CREATE DATABASE my_db OWNER ricky;
    CREATE DATABASE
    mydb=# GRANT ALL PRIVILEGES ON DATABASE my_db to ricky;  将数据库的权限给用户
    mydb=# \c my_db   连接到刚刚创建的数据库
    
    • 查看所有的数据库
    testdb=# \l
                                                            数据库列表
       名称    |  拥有者  | 字元编码 |            校对规则            |             Ctype              |       存取权限     
    -----------+----------+----------+--------------------------------+--------------------------------+-----------------------
     mydb     | ricky    | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |
     postgres  | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |
     template0 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 | =c/postgres          +
               |          |          |                                |                                | postgres=CTc/postgres
     template1 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 | =c/postgres          +
               |          |          |                                |                                | postgres=CTc/postgres
     testdb    | ricky    | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 | =Tc/ricky            +
               |          |          |                                |                                | ricky=CTc/ricky
    (5 行记录)
    
    • 查看表
    mydb=# \d
                   关联列表
     架构模式 |   名称   |  类型  | 拥有者
    ----------+----------+--------+--------
     public   | user_tbl | 数据表 | ricky
     public   | yser_tbl | 数据表 | ricky
    
    • 查看表结构
    mydb=# \d user_tbl;  \d 加上表名
              数据表 "public.user_tbl"
        栏位    |         类型          | 修饰词
    ------------+-----------------------+--------
     name       | character varying(20) |
     signp_date | date  
    
    • 其他常用命令
    \password           设置密码。
    \q                  退出。
    \h                  查看SQL命令的解释,比如\h select。
    \?                  查看psql命令列表。
    \l                  列出所有数据库。
    \c [database_name]  连接其他数据库。
    \d                  列出当前数据库的所有表格。
    \d [table_name]     列出某一张表格的结构。
    \du                 列出所有用户。
    \e                  打开文本编辑器。
    \conninfo           列出当前数据库和连接的信息。
    

    end

    相关文章

      网友评论

          本文标题:Postgresql基础操作

          本文链接:https://www.haomeiwen.com/subject/uksggttx.html