新建账户、权限、只读、只更新用户等,参考
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 "名称";