首页 > 代码库 > PgSQL简单操作

PgSQL简单操作


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

*基本操作

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

数据库操作

$ 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允许在服务端与客户端自动转码

wKiom1Nu_-bDIdpsAABscRs8Up4767.jpg



备份 / 恢复

$ 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;

wKiom1NvAVyyhluHAAAaBs5pWQk003.jpg

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


$ createruser sunny

$ dropuser sunny


=# create user sunny PASSWORD ‘newpwd‘;

wKiom1NvAaGDNAOyAAAvFunwLpI001.jpg

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


wKioL1NvBFjA1j6RAABqIiEOd3o626.jpg

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


给用户赋权

$ psql test -U sunny

=# create user hhpeng with password ‘hhpeng‘;

wKioL1NvAtyhlA50AAA13jZCKvE859.jpg

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


$ psql test -U postgres

=# create user sunny createuser;

           创建用户的时候授权

=# alter user sunny createuer;

=# alter user sunny createdb;

=# \q


$ psql test -U sunny

wKioL1NvBm_TCTJEAABRRQRdg2w630.jpg


=# 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:代表系统中的所有用户。





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