由于不了解postgresql的psql工具,安装完数据库后就直接用pgadmin或navicat来连接操作,在确认初始化后的库中默认有些什么东西后竟然一直无处下手,在还没有了解pg大致体系的情况下搞得一头雾水,先不说数据库角色(role)的那个既可以是用户又可以是组的概念,总是苦于无法查询当前操作的是哪个库哪个表,哪个模式的状态,甚至连表结构都不知道怎么看。然后还是再花时间去学pg的基本要素,主要还是因为mysql的代入关系,两者有相似的地方,但在管理体系上是不一样的。最终还是先回归到服务器端上,直接用psql来操作先,了解一下psql定义好的元命令,方便操作学习了解。

建新角色

create role chen createdb createrole login password '111111';

建新库

create database yun owner chen;

切换角色,切换后提示符也从#变成了>,因为不是superuser

postgres=# \c - chen;
SSL连接 (加密:DHE-RSA-AES256-SHA,二进制位: 256)
您现在已经连线到数据库 "postgres",用户 "chen". postgres=>     

切换库

postgres=> \c yun;
SSL连接 (加密:DHE-RSA-AES256-SHA,二进制位: 256)
您现在已经连线到数据库 "yun",用户 "chen". yun=>

新建模式

create schema yun;

这里有一个新建表若不指定模式则默认放在哪一个模式的问题,不同模式下不同的表可以重名,\d 命令也是从这里面的模式名来获取有哪些表 --模式的搜索路径

yun=>show search_path;
search_path
----------------
"$user",public yun=> set search_path to yun,"$user",public;
SET yun=> show search_path;
search_path
----------------------
yun, "$user", public
(1 行记录)

上面这种方法是临时的,像变量一样重新连接后会失效,然后就找来下面直接修改角色属性的方法,重新连接后永久有效

alter role chen set search_path to yun,"$user",public;

set好后,新表就会自动归在yun模式里,建个新表

yun=> create table website(
yun(> fid int primary key,
yun(> name varchar(255) not null,
yun(> url varchar(255) not null,
yun(> style smallint not null)
yun-> ;

再用已经提前从mysql导出好的文件导入数据,copy命令需要superuser,但是psql提供了另外的方法来导数据

\copy website from '/var/lib/mysql/yun/src_data/allwebsite.dat' delimiter ',';

postgressql的copy中有一个csv格式,很方便统一导入和导出的间隔符和引号,不需要自定义,举个栗子:

\copy (select * from spam_keyword) to '/home/.../abcd.txt' csv
\copy spam_keyword from /home/.../spam_keyword.copy csv

copy 导入不会覆盖表内原有的数据,就是在新的行插入,默认在目标表的所有字段位置插入,若指定插入表的字段则只在该字段插入数据,所以<表的插入字段>和<源的字段>数量要一致,若表一共只有2个字段而copy源有3个那就无法导入,相反则只需指定表的插入字段如 \copy tablename(colunma,columnb) from ,且字段名并没有关联。

修改一下website表,新加一个字段

alter table website add column tm_update timestamp(0) not null default now();

PostgreSQL-角色、库、模式、表的更多相关文章

  1. PostgreSQL 建库建表脚本

    1.创建角色(create_role.sql) drop role if exists "kq_acs";create role "kq_acs" login ...

  2. mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】

    1.mysql简单的查询:select 字段1,字段2...  from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都 ...

  3. PostgreSQL学习手册-模式Schema(转)

    原文:http://www.cnblogs.com/stephen-liu74/archive/2012/04/25/2291526.html 一个数据库包含一个或多个命名的模式,模式又包含表.模式还 ...

  4. PostgreSQL 学习手册-模式Schema

    一个数据库包含一个或多个命名的模式,模式又包含表.模式还包含其它命名的对象,包括数据类型.函数,以及操作符.同一个对象名可以在不同的模式里使用而不会导致冲突: 比如,schema1和myschema都 ...

  5. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  6. Atitit dsl实现(1)------异常的库模式实现  异常的ast结构

    Atitit dsl实现(1)------异常的库模式实现  异常的ast结构 1.1. Keyword 1 1.2. 异常的ast模型 1 1.3. Astview的jar org.eclipse. ...

  7. 【黑金原创教程】【TimeQuest】【第二章】TimeQuest模型角色,网表概念,时序报告

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  8. php源码建博客5--建库建表-配置文件-错误日志

    主要: 整理框架 建库建表 配置文件类 错误日志记录 --------------本篇后文件结构:-------------------------------------- blog ├─App │ ...

  9. 物化视图基础概念、mview跨库迁移表

    概念:物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询.这样 ...

  10. mysql对库,表及记录的增删改查

    破解密码 #1.关闭mysqlnet stop mysqlmysql还在运行时需要输入命令关闭,也可以手动去服务关闭 #2.重新启动mysqld --skip-grant-tables跳过权限 #3m ...

随机推荐

  1. CSS3知识点整理&&一些demo

    css3能做什么 响应式开发的基础,然后能实现一些酷炫的效果咯. 以下案例纯css3实现,一点都没用js (入门简单,但是水很深) 叮当猫纯用css3做出         http://codepen ...

  2. 解读SDN的东西、南北向接口

    北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口. 南向接口(Southbound Interface)是提供对其他厂家网元的管理功能,支 ...

  3. 基于Angularjs实现分页

    前言 学习任何一门语言前肯定是有业务需求来驱动你去学习它,当然ng也不例外,在学习ng前我第一个想做的demo就是基于ng实现分页,除去基本的计算思路外就是使用指令封装成一个插件,在需要分页的列表页面 ...

  4. solr教程

    转载请注明出处:http://www.cnblogs.com/zhuxiaojie/p/5764680.html 本教程基于solr5.5 前言 至于为什么要用solr5.5,因为最新的6.10,没有 ...

  5. MySQL5.7不停业务将传统复制变更为GTID复制

      由于GTID的优势,我们需要将传统基于file-pos的复制更改为基于GTID的复制,如何在线变更成为我们关心的一个点,如下为具体的方法: 目前我们有一个传统复制下的M-S结构: port 330 ...

  6. poj1113--凸包(Andrew)

    题目大意: 给出平面上若干个点的坐标,你的任务是建一个环形围墙,把所有的点围在里面,且距所有点的距离不小于l.求围墙的最小长度. 思路: 很容易得出答案就是凸包周长+以l为半径的圆的周长. 这里讲一下 ...

  7. 仿饿了点餐界面2个ListView联动

    如图是效果图 是仿饿了的点餐界面 1.点击左侧的ListView,通过在在适配器中设置Item来改变颜色,再通过notifyDataSetInvalidated来刷新并用lv_home.setSele ...

  8. [moka同学笔记]四、Yii2.0课程笔记(魏曦老师教程)[匿名函数的使用操作]

    在评论页面中index.php中 [ 'attribute'=>'status', 'value'=>'status0.name', 'filter'=>Commentstatus: ...

  9. python之协程与IO操作

    协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...

  10. AdapterPattern(适配器模式)

    import org.omg.PortableServer.AdapterActivator; /** * 分两种情况: * 1.类适配器 * 2.对象适配器 * 作用:让原本接口不兼容的两个类可以在 ...