PostgreSQL-角色、库、模式、表
由于不了解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-角色、库、模式、表的更多相关文章
- PostgreSQL 建库建表脚本
1.创建角色(create_role.sql) drop role if exists "kq_acs";create role "kq_acs" login ...
- mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都 ...
- PostgreSQL学习手册-模式Schema(转)
原文:http://www.cnblogs.com/stephen-liu74/archive/2012/04/25/2291526.html 一个数据库包含一个或多个命名的模式,模式又包含表.模式还 ...
- PostgreSQL 学习手册-模式Schema
一个数据库包含一个或多个命名的模式,模式又包含表.模式还包含其它命名的对象,包括数据类型.函数,以及操作符.同一个对象名可以在不同的模式里使用而不会导致冲突: 比如,schema1和myschema都 ...
- MySQL数据库初识、下载使用(针对库、表、记录的增删改查)
今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...
- Atitit dsl实现(1)------异常的库模式实现 异常的ast结构
Atitit dsl实现(1)------异常的库模式实现 异常的ast结构 1.1. Keyword 1 1.2. 异常的ast模型 1 1.3. Astview的jar org.eclipse. ...
- 【黑金原创教程】【TimeQuest】【第二章】TimeQuest模型角色,网表概念,时序报告
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- php源码建博客5--建库建表-配置文件-错误日志
主要: 整理框架 建库建表 配置文件类 错误日志记录 --------------本篇后文件结构:-------------------------------------- blog ├─App │ ...
- 物化视图基础概念、mview跨库迁移表
概念:物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询.这样 ...
- mysql对库,表及记录的增删改查
破解密码 #1.关闭mysqlnet stop mysqlmysql还在运行时需要输入命令关闭,也可以手动去服务关闭 #2.重新启动mysqld --skip-grant-tables跳过权限 #3m ...
随机推荐
- Android四大组件之一“广播”
前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...
- jQuery方法position()与offset()区别
参考别人写得比较明白的,红色部分为重点吧: 使用jQuery获取元素位置时,我们会使用position()或offset()方法,两个方法都返回一个包含两个属性的对象-左边距和上边距,它们两个的不同点 ...
- SQL Server 2016里的sys.dm_exec_input_buffer
在你的DBA职业里,你们谁有用过DBCC INPUTBUFFER命令,来获得已经提交到SQL Server特定会话的最后SQL语句?请举手!大家都用过! 我们都知道DBCC命令有点尴尬,因为你不能在T ...
- JS的解析与执行过程
JS的解析与执行过程 全局中的解析和执行过程 预处理:创建一个词法环境(LexicalEnvironment,在后面简写为LE),扫描JS中的用声明的方式声明的函数,用var定义的变量并将它们加到预处 ...
- 移动端click事件延迟300ms问题
因为历史原因,移动端点击事件会有300ms延迟,来判断用户是连续双击缩放还是点击跳转.即如果300ms内连续点击两次,则会理解为对页面进行缩放操作(当然前提是移动端页面设置为可缩放的):在一次点击之后 ...
- C# GDI+ 处理文本的两个小技巧
private void button7_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.FillR ...
- xml html entity 列表
Name Character Unicode code point (decimal) Standard Description quot " U+0022 (34) XML 1.0 dou ...
- HTML5播放暂停音乐
查看效果:http://hovertree.com/code/jquery/ueyf7gn4.htm 代码如下: <!DOCTYPE html> <html> <head ...
- SpringMVC的工作原理
1.首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于一定的原则选择合适的控制器进行处理并把请求委托给它. 2.页面控制器接收到请求 ...
- Java新人学习(li)
一.项目中搭配使用SVN和Git 安装SVN:安装熟悉Git:安装maven,修改setting.xml文件:安装eclipse,配置jdk.maven路径: 建立自己的Git仓库,熟悉常用的Git命 ...