star870126 发表于 2016-11-21 10:54:46

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

  base目录,这是所有数据库目录的父目录。
  在base目录下第一层,每个目录就是一个数据库所对应的文件。
  那么如何知道哪个目录对应哪个数据呢?
  查询如下:先看数据库列表



$ ./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=#
  可以看看目录结构对比一下:



$ pwd
/home/pgsql/DemoDir/base
$ ls
112691126991638416386
$
页: [1]
查看完整版本: 如何知道PostgreSQL数据库下每个数据库所对应的目录