由于不了解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. Android四大组件之一“广播”

    前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...

  2. jQuery方法position()与offset()区别

    参考别人写得比较明白的,红色部分为重点吧: 使用jQuery获取元素位置时,我们会使用position()或offset()方法,两个方法都返回一个包含两个属性的对象-左边距和上边距,它们两个的不同点 ...

  3. SQL Server 2016里的sys.dm_exec_input_buffer

    在你的DBA职业里,你们谁有用过DBCC INPUTBUFFER命令,来获得已经提交到SQL Server特定会话的最后SQL语句?请举手!大家都用过! 我们都知道DBCC命令有点尴尬,因为你不能在T ...

  4. JS的解析与执行过程

    JS的解析与执行过程 全局中的解析和执行过程 预处理:创建一个词法环境(LexicalEnvironment,在后面简写为LE),扫描JS中的用声明的方式声明的函数,用var定义的变量并将它们加到预处 ...

  5. 移动端click事件延迟300ms问题

    因为历史原因,移动端点击事件会有300ms延迟,来判断用户是连续双击缩放还是点击跳转.即如果300ms内连续点击两次,则会理解为对页面进行缩放操作(当然前提是移动端页面设置为可缩放的):在一次点击之后 ...

  6. C# GDI+ 处理文本的两个小技巧

    private void button7_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.FillR ...

  7. xml html entity 列表

    Name Character Unicode code point (decimal) Standard Description quot " U+0022 (34) XML 1.0 dou ...

  8. HTML5播放暂停音乐

    查看效果:http://hovertree.com/code/jquery/ueyf7gn4.htm 代码如下: <!DOCTYPE html> <html> <head ...

  9. SpringMVC的工作原理

    1.首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于一定的原则选择合适的控制器进行处理并把请求委托给它. 2.页面控制器接收到请求 ...

  10. Java新人学习(li)

    一.项目中搭配使用SVN和Git 安装SVN:安装熟悉Git:安装maven,修改setting.xml文件:安装eclipse,配置jdk.maven路径: 建立自己的Git仓库,熟悉常用的Git命 ...