|
The first test to see whether you can access the database server is to try to create a
database. A running PostgreSQL server can manage many
databases. Typically, a separate database is used for each project or for each user.
Possibly, your site administrator has already created a database for your use. He should
have told you what the name of your database is. In this case you can omit this step and
skip ahead to the next section.
To create a new database, in this example named mydb, you use
the following command:
$ createdb mydb
This should produce as response:
CREATE DATABASE
If so, this step was successful and you can skip over the remainder of this section.
If you see a message similar to
createdb: command not found
then PostgreSQL was not installed properly. Either it
was not installed at all or the search path was not set correctly. Try calling the command
with an absolute path instead:
$ /usr/local/pgsql/bin/createdb mydb
The path at your site might be different. Contact your site administrator or check back
in the installation instructions to correct the situation.
Another response could be this:
psql: could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
createdb: database creation failed
This means that the server was not started, or it was not started where createdb expected it. Again, check the installation instructions or
consult the administrator.
If you do not have the privileges required to create a database, you will see the
following:
ERROR: CREATE DATABASE: permission denied
createdb: database creation failed
Not every user has authorization to create new databases. If PostgreSQL
refuses to create databases for you then the site administrator needs to grant you
permission to create databases. Consult your site administrator if this occurs. If you
installed PostgreSQL yourself then you should log in for
the purposes of this tutorial under the user account that you started the server as. [1]
You can also create databases with other names. PostgreSQL
allows you to create any number of databases at a given site. Database names must have an
alphabetic first character and are limited to 63 characters in length. A convenient choice
is to create a database with the same name as your current user name. Many tools assume that
database name as the default, so it can save you some typing. To create that database,
simply type
$ createdb
If you don't want to use your database anymore you can remove it. For example, if you are
the owner (creator) of the database mydb, you can destroy it using
the following command:
$ dropdb mydb
(For this command, the database name does not default to the user account name. You
always need to specify it.) This action physically removes all files associated with the
database and cannot be undone, so this should only be done with a great deal of forethought.
|