PgSQL简单操作

时间:2014-05-11 19:31:24   收藏:0   阅读:478


**********************************************

*基本操作

**********************************************

数据库操作

$ psql test

$ psql -h localhost -U username -W newpwd -p 5432 test

=# create database mail_db;

=# create database mail_db owner sunny;


=# drop database mail_db;


表操作

=# create table mail_sunny.com (

=# id    int,

=# name    varchar(50),

=# city    varchar(50),

=# date    date

=# );



简单查询

$ psql -l

           查看当前的库,库主,编码;pgsql允许在服务端与客户端自动转码

bubuko.com,布布扣



备份 / 恢复

$ pg_dump > test_201405111403            (备份一个库)

$ psql test < test_201405111403

$ pg_dump -h localhost test | pssql -h 192.168.0.180 test


$ pg_dumpall > all_201405111407            (备份一个给出的集群中的每个数据库)

                          恢复时,需要数据库超级用户权限(用来恢复 用户和组的信息)

$ pg_dump test | gzip > test.gz

$ createdb test        (恢复上面的备份)

$ gzunzip -c test.gz | psql test


备份分片

$ ps_dump test | split -b 10m - test.bak

$ createdb test

$ cat test.bak* | psql test



**********************************************

*账户管理(用户,组)

**********************************************

重置密码

=# alter user sunny password ‘anotherpwd‘;


新建用户

=# create user sunny;

bubuko.com,布布扣

                       (有用户 没密码;无法登录数据库的)


$ createruser sunny

$ dropuser sunny


=# create user sunny PASSWORD ‘newpwd‘;

bubuko.com,布布扣

           成功添加用户后是有回显的


bubuko.com,布布扣

           删除用户的时候,陷阱还挺多的。


给用户赋权

$ psql test -U sunny

=# create user hhpeng with password ‘hhpeng‘;

bubuko.com,布布扣

           报错了;默认只有高级用户才有权限创建;


$ psql test -U postgres

=# create user sunny createuser;

           创建用户的时候授权

=# alter user sunny createuer;

=# alter user sunny createdb;

=# \q


$ psql test -U sunny

bubuko.com,布布扣


=# create group tech;

=# alter group tech add user sunny;

=# alter group tech drop user sunny;


           ------------------------------------

           权限:

           ------------------------------------

           当创建一个库时,它属于一个用户(创建者)。需要其他用户能访问该库,需要授权。

           权限分类:select    insert    update    delete    rule    references    trigger

                           create    temporary    execute    usage    "all privileges"


=# grant update on test to sunny;

=# grant select on test to group tech;

=# revoke all on test from sunny;

=# revoke all on test from public;

                                   public:代表系统中的所有用户。





本文出自 “小崔的实验笔记” 博客,谢绝转载!

PgSQL简单操作,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!