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 ...
随机推荐
- 一款css3很美的iphone注册表单样式
代码如下,保存到html文件打开: <!DOCTYPE html> <html lang=""> <head> <title>Ani ...
- Java 批量插入数据(Oracle)
//批量添加20000条数据用时8秒. try { String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SI ...
- 转载:《TypeScript 中文入门教程》 10、混入
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 除了传统的面向对象继承方式,还流行一种通过可重用组件创建类的方式,就是联合另一个 ...
- 用python来个百度关键词刷排名脚本
目的:写个脚本来提升百度排名 我一个seo届前辈的朋友找我,他说,seo事无巨细,自己主观方面能做的几乎都能做了,提升百度等搜索引擎中的排名往往效果不佳或者起效周期慢.能不能人为去干预下呢? 获得排名 ...
- php实现设计模式之 解释器模式
<?php /* * 解释器模式:给定一种语言,定义它文法的一种表示,并定义一个解释器,该解释器利用该表示来解释语言中的句子 * */ class Expression { function i ...
- NET IL命令查询器
最近研究了一下IL代码,闲来无事,开发一个小工具,供大家使用.编程.破解,手头必备工具. 模糊搜索,可以把相关的命令都列出来.选中行,可以提示指令说明. 如果指令不全,可以增加指令及说明. CSDN下 ...
- struts拓展restful
为restful开发的话,一定要设计到URL,struts正好是管理URL的 所以在struts的项目中用restful,要遵守struts的规则 rest在struts中对应的方法 上面是官方给出的 ...
- Hadoop中MR程序的几种提交运行模式
本地模型运行 1:在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行 ----输入输出数据可以放在本地路径下(c:/wc ...
- 使用javascript和canvas画月半弯
使用javascript和canvas画月半弯,月半弯好浪漫!浏览器须支持html5 查看效果:http://keleyi.com/a/bjad/8xqdm0r2.htm 以下是代码: <!do ...
- Html5绘制饼图统计图
这里要介绍的是一个jQuery插件:jquery.easysector.js Html5提供了强大的绘图API,让我们能够使用javascript轻松绘制各种图形.本文将主要讲解使用HTML5绘制饼图 ...