如何知道PostgreSQL数据库下每个数据库所对应的目录

base目录,这是所有数据库目录的父目录。

在base目录下第一层,每个目录就是一个数据库所对应的文件。

那么如何知道哪个目录对应哪个数据呢?

查询如下:先看数据库列表

[pgsql@localhost bin]$ ./psql
psql (9.1.2)
Type "help" for help.

pgsql=# l
                               List of databases
   Name    | Owner  | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+--------+----------+-------------+-------------+-------------------
 pgsql     | pgsql  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | pgsql  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | pgsql  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/pgsql         +
           |        |          |             |             | pgsql=CTc/pgsql
 template1 | pgsql  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/pgsql         +
           |        |          |             |             | pgsql=CTc/pgsql
 tester    | tester | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
(5 rows)

pgsql=# q

再看数据库目录路径:

tester=# select oid,datname from pg_database;
  oid  |  datname  
-------+-----------
     1 | template1
 12691 | template0
 12699 | postgres
 16384 | pgsql
 16386 | tester
(5 rows)

tester=# 

可以看看目录结构对比一下:

[pgsql@localhost base]$ pwd
/home/pgsql/DemoDir/base
[pgsql@localhost base]$ ls
1  12691  12699  16384  16386
[pgsql@localhost base]$ 
原文地址:https://www.cnblogs.com/gaojian/p/3170950.html