You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Chen Song <ch...@gmail.com> on 2015/04/02 17:15:27 UTC

question on create database

I have a dumb question on DDL statement "create database"

Say if I create a database

CREATE DATABASE abcLOCATION '/my/preferred/directory';

When later on someone needs to create a table in this database, is there a
way to force the location of the table to be under /my/preferred/directory?

I searched around but could not find a way to enforce this.


-- 
Chen Song

RE: question on create database

Posted by Mich Talebzadeh <mi...@peridale.co.uk>.
I agree.

 

In most RDBMSs DDL statements in DEV/Test are carried out by users who are assigned database Owner (DBO) role  or aliased to it with little risk.

 

In production users can have DML or DQ permissions (through belonging to appropriate groups/roles). However, no DDL. In general the one who looks after DDL in production (drop, create, truncate tables etc)  is the administrator who does releases through approved processes. 

 

HTH

 

Mich Talebzadeh

 

http://talebzadehmich.wordpress.com

 

Publications due shortly:

Creating in-memory Data Grid for Trading Systems with Oracle TimesTen and Coherence Cache

 

NOTE: The information in this email is proprietary and confidential. This message is for the designated recipient only, if you are not the intended recipient, you should destroy it immediately. Any information in this message shall not be understood as given or endorsed by Peridale Ltd, its subsidiaries or their employees, unless expressly so stated. It is the responsibility of the recipient to ensure that this email is virus free, therefore neither Peridale Ltd, its subsidiaries nor their employees accept any responsibility.

 

From: Lefty Leverenz [mailto:leftyleverenz@gmail.com] 
Sent: 02 April 2015 21:56
To: user@hive.apache.org
Subject: Re: question on create database

 

Could you use SQL standards based authorization to deny CREATE TABLE privileges to everybody except the database owner, and then make people ask the owner to create tables for them?




-- Lefty

 

On Thu, Apr 2, 2015 at 4:44 PM, Chen Song <ch...@gmail.com> wrote:

Got it. Thanks.

 

On Thu, Apr 2, 2015 at 11:29 AM, Alan Gates <al...@gmail.com> wrote:

When someone creates a table in your 'abc' database it should by default be in '/my/preferred/directory/_tablename_'.  However, users can specify locations for their tables which may not be in that directory.  AFAIK there's no way to prevent that.

Alan.






 <ma...@gmail.com> Chen Song

April 2, 2015 at 8:15

I have a dumb question on DDL statement "create database"

 

Say if I create a database 

CREATE DATABASE abc
LOCATION '/my/preferred/directory';

When later on someone needs to create a table in this database, is there a way to force the location of the table to be under /my/preferred/directory?

 

I searched around but could not find a way to enforce this.

 

 

-- 

Chen Song

 





 

-- 

Chen Song

 

 


Re: question on create database

Posted by Lefty Leverenz <le...@gmail.com>.
Could you use SQL standards based authorization to deny CREATE TABLE
privileges to everybody except the database owner, and then make people ask
the owner to create tables for them?

-- Lefty

On Thu, Apr 2, 2015 at 4:44 PM, Chen Song <ch...@gmail.com> wrote:

> Got it. Thanks.
>
> On Thu, Apr 2, 2015 at 11:29 AM, Alan Gates <al...@gmail.com> wrote:
>
>> When someone creates a table in your 'abc' database it should by default
>> be in '/my/preferred/directory/_tablename_'.  However, users can specify
>> locations for their tables which may not be in that directory.  AFAIK
>> there's no way to prevent that.
>>
>> Alan.
>>
>>   Chen Song <ch...@gmail.com>
>>  April 2, 2015 at 8:15
>> I have a dumb question on DDL statement "create database"
>>
>> Say if I create a database
>> CREATE DATABASE abc
>> LOCATION '/my/preferred/directory';
>> When later on someone needs to create a table in this database, is there
>> a way to force the location of the table to be under
>> /my/preferred/directory?
>>
>> I searched around but could not find a way to enforce this.
>>
>>
>> --
>> Chen Song
>>
>>
>
>
> --
> Chen Song
>
>

Re: question on create database

Posted by Chen Song <ch...@gmail.com>.
Got it. Thanks.

On Thu, Apr 2, 2015 at 11:29 AM, Alan Gates <al...@gmail.com> wrote:

> When someone creates a table in your 'abc' database it should by default
> be in '/my/preferred/directory/_tablename_'.  However, users can specify
> locations for their tables which may not be in that directory.  AFAIK
> there's no way to prevent that.
>
> Alan.
>
>   Chen Song <ch...@gmail.com>
>  April 2, 2015 at 8:15
> I have a dumb question on DDL statement "create database"
>
> Say if I create a database
> CREATE DATABASE abc
> LOCATION '/my/preferred/directory';
> When later on someone needs to create a table in this database, is there a
> way to force the location of the table to be under
> /my/preferred/directory?
>
> I searched around but could not find a way to enforce this.
>
>
> --
> Chen Song
>
>


-- 
Chen Song

Re: question on create database

Posted by Alan Gates <al...@gmail.com>.
When someone creates a table in your 'abc' database it should by default 
be in '/my/preferred/directory/_tablename_'.  However, users can specify 
locations for their tables which may not be in that directory.  AFAIK 
there's no way to prevent that.

Alan.

> Chen Song <ma...@gmail.com>
> April 2, 2015 at 8:15
> I have a dumb question on DDL statement "create database"
>
> Say if I create a database
> |CREATE| |DATABASE| abc
> |LOCATION||'/my/preferred/directory'||;|
> When later on someone needs to create a table in this database, is 
> there a way to force the location of the table to be under 
> /my/preferred/directory?
>
> I searched around but could not find a way to enforce this.
>
>
> -- 
> Chen Song
>