PostgreSQL 10 Administration Cookbook
上QQ阅读APP看书,第一时间看更新

How to do it...

On Debian or Ubuntu systems, the default data directory location is: /var/lib/postgresql/R.r/main.

Here, R.r represents the major and minor release numbers of the database server software, respectively; for example, 9.6. The configuration files are located in /etc/postgresql/R.r/main/.

Note that for release 10 onwards, it will just be 10, not 10.0.

In both cases, main is just the name of a database server. Other names are also possible. For the sake of simplicity, we assume that you only have a single installation, although the point of including the release number and database server name as components of the directory path is to allow multiple database servers to coexist on the same host.

The pg_lsclusters utility is specific to Debian/Ubuntu, and displays a list of all the available database servers, including information, such as the following, for each server:
1. Major release number.
2. Port.
3. Status (for example, online, down, and so on).
4. Data directory.
5. Log file.
The pg_lsclusters utility is part of the postgresql-common Debian/Ubuntu package, which provides a structure under which multiple versions of PostgreSQL can be installed, and multiple clusters can be maintained, at one time.

On Red Hat RHEL, CentOS, and Fedora, the default data directory location is /var/lib/pgsql/data/. This also contains the configuration files (*.conf) by default.

Again, that is just the default location. You can create additional data directories using the initdb utility.

On Windows, the default data directory location is: C:\Program Files\PostgreSQL\R.r\data.

The initdb utility populates the given data directory with the initial content. The directory will be created for convenience if it is missing, but for safety, the utility will stop if the data directory is not empty. The initdb utility will read the data directory name from the PGDATA environment variable, unless the -d command-line option is used.