Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480575
  • 博文数量: 111
  • 博客积分: 2332
  • 博客等级: 大尉
  • 技术积分: 1187
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-29 11:22
文章分类

全部博文(111)

文章存档

2013年(9)

2012年(28)

2011年(17)

2010年(28)

2009年(29)

我的朋友

分类:

2009-09-13 16:34:13

导出数据到sql文件:
pg_dump -U postgres -d mydatabase > dump.sql
从sql文件导入数据:
psql -d newdatabase -U postgres -f dump.sql
执行sql文件:
在相应的数据库中 \i sql文件 (这个如果是在windows下,要将\改为/)
在shell中 psql -s 数据库名 -f sql文件


下面这个是基本sql的

从一个表中查询数据,将结果插入到另一个表中:
insert into temptable select id from product where category_id=3;
create table temptest as select id from product where category_id=3;
以上两行都是从product表中找到category_id为3的记录的id号,然后将id号插入到temptable中。不同的时第一行的sql语句 要求数据库中必须已经存在temptable表,此时temptable表可以不知有id这一个字段,只不过插入数据之后其他字段为空;第二行的sql语 句不要求数据库已经存在temptable表,它会创建这个表,然后将数据插入,此时temptable表中只有id一个字段

创建用户:
CREATE USER username WITH PASSWORD 'password'
这就创建了一个具有所有权限的普通用户
创建超级用户:
CREATE ROLE name SUPERUSER(这个角色是不能登录的)

用户登录:
psql -h IP地址 -p 端口号 -U 用户名 默认数据库
其中-h IP地址, -p 端口号可以省略;默认IP地址localhost,默认端口号是5432。默认的数据库好像不能够省略,省略之后PostgreSQL会自动使用名字为用户名的数据库作为默认数据库,如果这个数据库不存在就会报错。

在PostgreSQL中,创建用户:
CREATE USER  name  [ [ WITH ]  option [ ... ] ]  [ WITH ] { ENCRYPTED | UNENCRYPTED } PASSWORD ‘password’[ [ WITH ]  option [ ... ] ]
其中Option可以是:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CONNECTION LIMIT connlimit
| VALID UNTIL ’timestamp’
一个创建用户的例子:
CREATE USER testuser WITH CREATEDB PASSWORD '123456'
以上的语句创建了一个名字为testuser,密码为123456,具有创建数据库权限的用户

修改用户属性的方法是:
ALTER USER name [ [ WITH ] option [ ... ] ]
其中option可以是:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CONNECTION LIMIT connlimit
| { ENCRYPTED | UNENCRYPTED } PASSWORD ’password’
| VALID UNTIL ’timestamp’
一个修改用户的例子是:
ALTER USER testuser WITH CREATEROLE
上面的语句就给testuser这个用户加上了创建角色的权限

删除用户:
DROP USER [ IF EXISTS ] name [, ...]

角色可以理解为用户。不同的地方是用户创建时默认是带有登录权限的,而角色没有,所有如果创建了一个角色没有给显式地赋予LOGIN 权限,这个角色相当于是不能用的,因为不能登录。
创建角色:
CREATE ROLE name
一个创建角色的例子:
CREATE ROLE testrole LOGIN
创建了一个具有登录权限的角色
另外创建角色的时候也可以加上创建用户时的option
阅读(1846) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~