[ https://issues.apache.org/jira/browse/HAWQ-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15824696#comment-15824696 ]
ASF GitHub Bot commented on HAWQ-1263: -------------------------------------- Github user dyozie commented on a diff in the pull request: https://github.com/apache/incubator-hawq-docs/pull/86#discussion_r96318167 --- 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: --- End diff -- "For example, the following command alters a database by setting its default schema search path using the `search_path` server configuration parameter:" -> "For example, the following command alters the `search_path` server configuration parameter to change the default schema search path:" > docs - miscellaneous improvements > --------------------------------- > > Key: HAWQ-1263 > URL: https://issues.apache.org/jira/browse/HAWQ-1263 > Project: Apache HAWQ > Issue Type: Improvement > Components: Documentation > Reporter: Lisa Owen > Assignee: David Yozie > Priority: Minor > > ambari rest api: > - add warning about using http delete requests > - use AMBARI instead of AMB in env varbs for clarity > - add link from main ambari doc to rest apis and adjust subnav accordingly > intro to hawq op env: > - include info about PATH and LD_LIBRARY_PATH settings > - add pxf log file directory to table of important files/dirs > gpfdist: > - correct example for single instance > aws configuration > - more info re: storage types and security groups > - update instance types table > ddl database > - clarify that you can only clone from a template database > - various other wording and formatting fixes -- This message was sent by Atlassian JIRA (v6.3.4#6332)