Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2734805
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: Mysql/postgreSQL

2016-06-07 07:41:49

一、查看当前schemas

warehouse_db=# select current_schemas(true);
   current_schemas   
---------------------
 {pg_catalog,public}
(1 row)

二、当前search_path

warehouse_db=# show search_path;
   search_path   
-----------------
 "$user", public
(1 row)


warehouse_db=# set search_path="$user",public,tank;
SET
warehouse_db=# show search_path;
      search_path      
-----------------------
 "$user", public, tank
(1 row)


warehouse_db=# insert into emp4 values(1)
;
INSERT 0 1
warehouse_db=# select * from emp4;
 id 
----
  1
(1 row)


warehouse_db=# create table emp4(id int);
CREATE TABLE
warehouse_db=# insert into emp4 values(1)
;
INSERT 0 1
warehouse_db=# select * from emp4;
 id 
----
  1
(1 row)


warehouse_db=# select * from tank.emp4;
 id 
----
  1
(1 row)

三、设置tank为优先查找patch
warehouse_db=# set search_path="$user",tank,public;
SET
warehouse_db=# insert into emp4 values(2)
;
INSERT 0 1
warehouse_db=# select * from emp4;
 id 
----
  1
  2
(2 rows)


warehouse_db=# select * from public.emp4;
 id 
----
  1
(1 row)

四、要看表在那个schemaname

warehouse_db=# select tablename,schemaname from pg_tables where tablename in('emp4');
 tablename | schemaname 
-----------+------------
 emp4      | public
 emp4      | tank
(2 rows)

五、设置用户默认 search_patch
postgres=# alter user tank set search_path=tank;
ALTER ROLE
postgres=# \c warehouse_db

warehouse_db=# \c - tank
You are now connected to database "warehouse_db" as user "tank".
warehouse_db=#              show search_path;
 search_path 
-------------
 tank
(1 row)


warehouse_db=# create table tank02 (id int);
CREATE TABLE
warehouse_db=# SELECT schemaname, tablename FROM pg_tables WHERE tablename
IN('emp4','tank02');
 schemaname | tablename 
------------+-----------
 public     | tank02
 public     | emp4
 tank       | emp4
 tank       | tank02
(4 rows)


[postgres@db2 ~]$ psql -d warehouse_db -U tank
psql (9.5.2)
Type "help" for help.


warehouse_db=# show search_path;
 search_path 
-------------
 tank
(1 row)


阅读(3692) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~