USE “schema_name” in PostgreSQL

http://timmurphy.org/tag/mysql/

http://timmurphy.org/2009/11/17/use-schema_name-in-postgresql/

====================================

For those moving from MySQL to PostgreSQL, there are a few differences which you will need to get used to.  One of these differences is the USE command, used to select the schema to select tables, views, etc from.

PostgreSQL does not have the USE command.  Instead, you can use:

SET search_path TO [schema_name]

For example, if we have a schema mySchema in which we are querying the person table, instead of SELECT * FROM mySchema.person, we can simply type SET search_path TO mySchema and use SELECT * FROM person for all subsequent queries.  mySchema will remain the default schema until the next SET command is issued, or the connection is closed.

时间: 2024-11-30 21:44:19

USE “schema_name” in PostgreSQL的相关文章

PostgreSQL数据库中跨库访问解决方案

PostgreSQL跨库访问有3种方法:Schema,dblink,postgres_fdw. 方法A:在PG上建立不同SCHEMA,将数据和存储过程分别放到不同的schema上,经过权限管理后进行访问. 方法A的示例如下: 测试1(测试postgres超级用户对不同schema下对象的访问) 查看当前数据库中的schema postgres=# \dn List of schemas Name | Owner -------------------+--------- dbms_job_pro

PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系

看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我的试验,并循序讲清其中关系. 首先,实验出角色与用户的关系    在PostgreSQL中,存在两个容易混淆的概念:角色/用户.之所以说这两个概念容易混淆,是因为对于PostgreSQL来说,这是完全相同的两个对象.唯一的区别是在创建的时候: 1.我用下面的psql创建了角色kanon:   CRE

用Pgpool-II实现Postgresql高可用集群

其实整个安装和配置过程比较简单,官方网站有比较好的文档,在此只是根据前几天的实际部署整理一下.(实际执行的命令都用红色标出) 服务器: 10.18.27.181    pgpool服务器 --------此服务器上需要安装pgpool和pg 10.18.27.183    data node 1  --------此服务器上安装pg 10.18.27.184    data node 2  --------此服务器上安装pg 10.18.27.185    data node 3  ------

PostgreSQL表空间、模式、表、用户/角色之间的关系

PostgreSQL表空间.模式.表.用户/角色之间的关系是本文我们主要要介绍的内容,表空间,数据库,模式,表,用户,角色之间的关系到底是怎样的呢?接下来我们就开始介绍这一过程. 实验出角色与用户的关系 在PostgreSQL中,存在两个容易混淆的概念:角色/用户.之所以说这两个概念容易混淆,是因为对于PostgreSQL来说,这是完全相同的两个对象.唯一的区别是在创建的时候: 1.我用下面的psql创建了角色kanon:CREATE ROLE kanon PASSWORD 'kanon';接着

PostgreSQL中几个对象概念及其关系

本文参考:http://blog.csdn.net/kanon_lgt/article/details/5931522 http://blog.csdn.net/kanon_lgt/article/details/6220928 DB实例与schema: 模式是数据库实例的逻辑分割. 数据库是被模式(schema)来切分的,一个数据库至少有一个模式,所有数据库内部的对象(object)是被创建于模式的.用户登录到系统,连接到一个数据库后,是通过该数据库的search_path来寻找schema的

PostgreSQL的fdw 实践

oracle_fdw:http://francs3.blog.163.com/blog/static/4057672720122354546425/ postgres_fdw:http://www.postgresql.org/docs/9.4/static/postgres-fdw.html postgres_fdw用来访问外部的PostgreSQL服务器. 举例列示步骤: 配置外部数据库服务器允许远程访问. 在本地数据库服务器中,创建外部数据表: postgres=# create exte

PostgreSQL 模式操作

一个PostgreSQL数据库集群包含一个或多个已命名数据库.用户和用户组在整个集群范围内是共享的,但是其它数据并不共享.任何与服务器连接的客户都只能访问那个在连接请求里声明的数据库. 注意: 集群中的用户并不一定要有访问集群内所有数据库的权限.共享用户名的意思是不能有重名用户.假定同一个集群里有两个数据库和一个joe用户,系统可以配置成只允许joe 访问其中的一个数据库. 一个数据库包含一个或多个已命名的模式,模式又包含表.模式还可以包含其它对象,包括数据类型.函数.操作符等.同一个对象名可以

PostgreSQL对现有,新建的表和视图授权给用户

由于开发提出需求: (1)在多个PostgreSQL的instacne上面创建一个readonly用户,仅对数据库里面的表或者视图(包括物化视图)有仅有select权限,并且对以后新建的表和视图也要有select权限,我们知道PostgreSQL 在schema下新建的表,对于一个已经存在的用户不会自动赋予select的权限的,需要我们使用grant select...手动去执行,这样就比较麻烦,总不能每次新建表,我们就赋权一次,要知道我们有很多实例,总不能把时间都放在这样没有       意义

PostgreSQL逻辑复制之pglogical篇

PostgreSQL逻辑复制之slony篇 一.pglogical介绍 pglogical 是 PostgreSQL 的拓展模块, 为 PostgreSQL 数据库提供了逻辑流复制发布和订阅的功能. pglogical 重用了 BDR 项目中的一部分相关技术.pglogical 是一个完全作为PostgreSQL 扩展实现的逻辑复制系统.完全集成,它不需要触发器或外部程序.这种物理复制的替代方法是使用发布/订阅模型复制数据以进行选择性复制的一种高效方法.支持 PG10.9.6.9.5.9.4 ,