Clarify ownership and security issues with alternate db locations.
authorThomas G. Lockhart
Fri, 29 May 1998 13:16:36 +0000 (13:16 +0000)
committerThomas G. Lockhart
Fri, 29 May 1998 13:16:36 +0000 (13:16 +0000)
doc/src/sgml/ref/create_database.sgml

index 98454ace49c4f99bfb6913226e13a7b39e7290ae..5b3b9c34b640d4fe458d1bbf0e700a075f169edc 100644 (file)
@@ -130,7 +130,7 @@ There was a problem with creating the required directory; this operation will
    Description
   
   
-   CREATE DATABASE creates a new PostgreSQL database.
+   CREATE DATABASE creates a new Postgres database.
    The creator becomes the administrator of the new database.
   
   
@@ -142,10 +142,10 @@ There was a problem with creating the required directory; this operation will
     Notes
    
    
-    CREATE DATABASE statement is a PostgreSQL language extension.
+    CREATE DATABASE statement is a Postgres language extension.
    
    
-    Refer to DROP DATABASE statement to remove a database.
+    Refer to DROP DATABASE statement to remove a database.
    
   
   
@@ -157,19 +157,17 @@ There was a problem with creating the required directory; this operation will
    To create a new database:
   
   
-   CREATE DATABASE lusiadas;
+   olly=> create database lusiadas;
   
   
-   To create a new database in ~/private_db:
+   To create a new database in an alternate area ~/private_db:
   
   
-   $ mkdir private_db
-   $ initlocation ~/private_db
+   $ mkdir private_db
+   $ initlocation ~/private_db
    Creating Postgres database system directory /home/olly/private_db/base
 
-   $ chmod a+rx private_db
-   $ chmod a+rwx private_db/base
-   $ psql 
+   $ psql olly
    Welcome to the POSTGRESQL interactive sql monitor:
      Please read the file COPYRIGHT for copyright terms of POSTGRESQL
 
@@ -178,7 +176,7 @@ There was a problem with creating the required directory; this operation will
       type \g or terminate with semicolon to execute query
     You are currently connected to the database: template1
 
-    template1=create database elsewhere with location = '/home/olly/private_db';
+    olly=>> create database elsewhere with location = '/home/olly/private_db';
     CREATEDB
   
  
@@ -188,23 +186,19 @@ There was a problem with creating the required directory; this operation will
    Bugs
   
   
-   Where an ordinary user cannot change the ownership of files to other users
-   (which is correct from a security point of view), there is no easy way
-   to give the postgres backend access to files in a  database at a
-   non-standard location without
-   giving similar access to all users.  The situation shown in the usage
-   example makes /home/olly/private_db world-accessible.
+   There are security and data integrity issues involved with using alternate database locations
+   specified with absolute path names. See the Administrator's Guide for more information.
   
-  
-   If, on the other hand, the user gets the system administrator to give
-   file ownership to the postgres superuser and restrict access, he will
-   then be unable to delete the directory/base directory.
-  
+