psql-01基本介绍

安装与启动

  • 安装: apt-get install postgresql / yum install postgresql.XXX;
  • 启动:
    • mac下直接打开
    • linux
service postgresql status
service postgresql stop
service postgresap start

修改监听Ip和端口

//postgresql.config; 修改并重启

#listen_address = 'localhost'
#port = 5432

关于用户

  • 安装postgresql数据库时会建立一个与初始化数据库时的操作系统同名的数据库用户,即为超级用户,在这个用户下登陆数据库是系统默认认证;`
  • 可以修改pg_hna.config要求输入密码;
  • 列出数据库中所有用户: \du / \dg

默认数据库

  • 安装后默认有template0, template1;
  • 新创建的数据库默认继承自template1,可以对他定义些表和函数;
  • tempalte0是一个最简化的模版库, 创建数据库时可以指定从此继承;

完整的链接数据库

  • 格式:
psql -h <hostname or ip> -p <port> [mydb] [username]

psql -h 192.168.56.11 -p 5432 testdb postgres
export PGDATABSE=xx
export PGHOST=xx
.....

客户端基本操作

  • 显示所有: \d;详细信息: \d+;
\dt  //只显示表
\di   //只显示索引
\ds  //只显示序列
\dv  //只显示视图
\df   //只显示函数
  • 打开显示SQL执行时间: \timing on; 关闭: \timing off;

  • 指定客户端字符编码与服务器一致: \encoding utf8/gbk防止乱码;

  • 查询结果的边框显示

\pset border 0;
\pset border 1;
\pset border 2;
  • 查询结果拆行显示;在单行数据太多的情况下;
\x on
\x off
  • 显示信息: \echo xxx

  • 执行外部文件脚本

\i a.sql

psql -f a.sql
  • psql中事务是自动提交的
//不自动提交
begin;

xxxx;

rollback;/commit;

//直接设定
\set AUTOCOMMIT off   //注意一一定要大写
  • 获得psql中命令实际执行的sql
    • 连接数据库时: psql -E mydb;
    • 设置: \set echo_hidden on|off

SQL简介

数据定义语句

  • DDL: 创建,修改,删除表;

数据操纵语句

  • DML: 插入,更新,删除数据;

数据查询语句

  • DQL:

shell执行

按外部sql文件执行

psql database -f test.sql;

连接数据库

  • 创建特殊用户
create user username with password 'password';

//指定仅将某个数据库的权限给他
grant all privileges on database db_name to username;
  • 登录
psql -h myhost -d mydb -U myuser -W
  • 移除权限
drop owned by username
  • 创建超级用户
create user admin with superuser  password 'admin_pwd';

可能出现的问题

  • role "root" does not exist
    * key
//可以再创建超级用户root
createuser -d -a -P root

备份与恢复

  • 例子
  • 用 cron 进行调度
    • 改变编辑软件: export VISUAL=vim
    • 可能的其他问题
posted @ 2015-12-01 16:25  JinksPeng  阅读(311)  评论(0编辑  收藏  举报