新建账户、权限、只读、只更新用户等,参考

http://www.server110.com/postgresql/201403/7619.html

http://my.oschina.net/aven92/blog/528943?p=1

su - postgres

psql进入后

1、列出所有数据库

\l或者\list

2、列出当前数据库下的表

\d

3、切换数据库(带用户的话,后面加上用户当然得有权限)

\c dbname user

4、列出指定表的所有字段

\d tablename

5、查看指定表的基本情况

\d+ tablename

6、退出登录

\q

7、创建\删除数据库

create\drop database dbname;

8、在postgres用户命令行下新建数据库并登陆

createdb dbname、psql dbname

9、查看角色

\du+    select * from pg_roles;

10、创建用户、数据库(私有)-操作系统命令行下

createuser lulinyi -P(默认可读所有数据库),createdb dbname -O lulinyi(创建数据库只能lulinyi访问)


11、postgres用户下输入psql -h ip -p port dbname username提示输入密码

设置 .pgpass 密码文件

通过在客户端 /home/postgres 目录下创建隐藏文件 .pgpass ,从而避免连接数据库时弹出密码输入提示。

--创建密码文件 .pgpass ( on 客户端 )                               
vi /home/postgres/.pgpass                                      
--格式                                                               
hostname:port:database:username:password                                                                                        
--范例                                                               
192.168.1.25:5432:Mydb:postgres:mypassword                                                                                               
--权限                                                               
Chmod 600 .pgpass                  

备注:在/home/postgres 目录创建了密码文件 .pgpass 文件后,并正确配置连接信息,那么客户端连接数据时会优先使用 .pgass文件, 并使用匹配记录的密码,从而不跳出密码输入提示,这种方法比方法一更安全,所以推荐使用创建 .pgpass 文件方式。


12、创建用户-操作系统配合psql下

a.操作系统下新建用户例如:adduser dbuser

b.切换到postgres,psql登录

创建用户:create user dbuser with password '518518';

创建私有数据库:create database elink owner dbuser;

给与权限:grant all privileges on database elink to dbuser;


13、修改密码

alter user elink with password 'test';


14、给予新建用户权限(我们这里为什么只有public,因为没有新建)

grant all on all tables in schema public to user;


15、备份与恢复数据库

切换到对应数据库的操作系统用户

单个数据库备份

pg_dump elink > ./elink.sql

恢复(恢复之前需创建数据库)

psql pb < /usr/local/pgsql/backup/pg.dmp


全量备份

pg_dumpall > ./pg_all.dmp

恢复数据库
psql –f /usr/local/pgsql/backup/pg_all.dmp postgres
可以指定任何数据库名,如果恢复到一个空的集群中,通常使用postgres数据库


16、查看和删除schema

查看所有schema :   \dns

删除schema :    drop SCHEMA "名称";