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

时间:2023-03-09 05:46:50
如何知道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 [pgsql@localhost base]$