hawq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dyozie <...@git.apache.org>
Subject [GitHub] incubator-hawq-docs pull request #86: HAWQ-1263 - misc doc updates
Date Mon, 16 Jan 2017 23:07:49 GMT
Github user dyozie commented on a diff in the pull request:

    https://github.com/apache/incubator-hawq-docs/pull/86#discussion_r96318306
  
    --- Diff: markdown/ddl/ddl-database.html.md.erb ---
    @@ -2,77 +2,75 @@
     title: Creating and Managing Databases
     ---
     
    -A HAWQ system is a single instance of HAWQ. There can be several separate HAWQ systems
installed, but usually just one is selected by environment variable settings. See your HAWQ
administrator for details.
    -
    -There can be multiple databases in a HAWQ system. This is different from some database
management systems \(such as Oracle\) where the database instance *is* the database. Although
you can create many databases in a HAWQ system, client programs can connect to and access
only one database at a time — you cannot cross-query between databases.
    +Your HAWQ deployment may have multiple databases. This is different from some database
management systems \(such as Oracle\) where the database instance *is* the database. Although
you can create many databases in a HAWQ system, client programs can connect to and access
only one database at a time — you cannot cross-query between databases.
     
     ## <a id="topic3"></a>About Template Databases 
     
    -Each new database you create is based on a *template*. HAWQ provides a default database,
*template1*. Use *template1* to connect to HAWQ for the first time. HAWQ uses *template1*
to create databases unless you specify another template. Do not create any objects in *template1*
unless you want those objects to be in every database you create.
    +Each new database you create is based on a *template*. HAWQ provides a default database,
`template1`. HAWQ uses `template1` to create databases unless you specify another template.
Do not create any objects in `template1` unless you want those objects to be in every database
you create.
     
    -HAWQ uses two other database templates, *template0* and *postgres*, internally. Do not
drop or modify *template0* or *postgres*. You can use *template0* to create a completely clean
database containing only the standard objects predefined by HAWQ at initialization, especially
if you modified *template1*.
    +HAWQ uses two other database templates internally, `template0` and `postgres`. Do not
drop or modify `template0` or `postgres`. You can use `template0` to create a completely clean
database containing only the standard objects predefined by HAWQ at initialization, especially
if you have modified `template1`.
     
     ## <a id="topic4"></a>Creating a Database 
     
    -The `CREATE DATABASE` command creates a new database. For example:
    +You must have appropriate privileges or be a HAWQ superuser to create a database. If
you do not have the correct privileges, you cannot create a database. The HAWQ administrator
must either grant you the necessary privileges or create a database for you.
    +
    +The [CREATE DATABASE](../reference/sql/CREATE-DATABASE.html) command creates a new database.
For example:
     
     ``` sql
    -=> CREATE DATABASE new_dbname;
    +=# CREATE DATABASE <new_dbname>;
     ```
     
    -To create a database, you must have privileges to create a database or be a HAWQ superuser.
If you do not have the correct privileges, you cannot create a database. The HAWQ administrator
must either give you the necessary privileges or to create a database for you.
    -
    -You can also use the client program `createdb` to create a database. For example, running
the following command in a command line terminal connects to HAWQ using the provided host
name and port and creates a database named *mydatabase*:
    +You can also use the client program `createdb` to create a database. For example, running
the following command connects to HAWQ on the host named `hmaster` at port `5432` and creates
a database named `mydatabase`:
     
     ``` shell
    -$ createdb -h masterhost -p 5432 mydatabase
    +$ createdb -h hmaster -p 5432 mydatabase
     ```
     
    -The host name and port must match the host name and port of the installed HAWQ system.
    +The host name and port must match the host name and port of the HAWQ master node.
     
    -Some objects, such as roles, are shared by all the databases in a HAWQ system. Other
objects, such as tables that you create, are known only in the database in which you create
them.
    +Some objects, such as roles, are shared by all of the databases in a HAWQ deployment.
Other objects, such as tables that you create, are known only to the database in which you
create them.
     
     ### <a id="topic5"></a>Cloning a Database 
     
    -By default, a new database is created by cloning the standard system database template,
*template1*. Any database can be used as a template when creating a new database, thereby
providing the capability to 'clone' or copy an existing database and all objects and data
within that database. For example:
    +By default, a new database is created by cloning the standard system database template,
`template1`. You may identify an alternate template to use for database creation. As mentioned
in the section above, you can specify `template0` as the template:
     
     ``` sql
    -=> CREATE DATABASE new_dbname TEMPLATE old_dbname
    +=# CREATE DATABASE <new_dbname> WITH TEMPLATE template0;
     ```
     
     ## <a id="topic6"></a>Viewing the List of Databases 
     
    -If you are working in the `psql` client program, you can use the `\l` meta-command to
show the list of databases and templates in your HAWQ system. If using another client program
and you are a superuser, you can query the list of databases from the `pg_database` system
catalog table. For example:
    +You can use the `\l` meta-command of the `psql` client subsystem to display the list
of databases and templates in your HAWQ deployment. If you are a database superuser, you can
query the list of databases from the `pg_database` system catalog table. For example:
     
     ``` sql
    -=> SELECT datname FROM pg_database;
    +=# SELECT datname FROM pg_database;
     ```
     
     ## <a id="topic7"></a>Altering a Database 
     
    -The ALTER DATABASE command changes database attributes such as owner, name, or default
configuration attributes. For example, the following command alters a database by setting
its default schema search path \(the `search_path` configuration parameter\):
    +Use the [ALTER DATABASE](../reference/sql/ALTER-DATABASE.html) command to update database
attributes including owner or name. You can also use ALTER DATABASE to update a database's
default configuration. For example, the following command alters a database by setting its
default schema search path using the `search_path` server configuration parameter:
     
     ``` sql
    -=> ALTER DATABASE mydatabase SET search_path TO myschema, public, pg_catalog;
    +=# ALTER DATABASE mydatabase SET search_path TO myschema, public, pg_catalog;
     ```
     
     To alter a database, you must be the owner of the database or a superuser.
     
     ## <a id="topic8"></a>Dropping a Database 
     
    -The `DROP DATABASE` command drops \(or deletes\) a database. It removes the system catalog
entries for the database and deletes the database directory on disk that contains the data.
You must be the database owner or a superuser to drop a database, and you cannot drop a database
while you or anyone else is connected to it. Connect to `template1` \(or another database\)
before dropping a database. For example:
    +The [DROP DATABASE](../reference/sql/DROP-DATABASE.html) command drops \(or deletes\)
a database. It removes the system catalog entries for the database and deletes the data on
disk. You must be the database owner or a superuser to drop a database, and you cannot drop
a database while you or anyone else is connected to it. Connect to `template1` \(or another
database\) before dropping a database. For example:
    --- End diff --
    
    (or deletes) -> (deletes)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message