PostgreSQL数据库的文件存储在哪里?
当前回答
每个人都已经回答了,但只是最新的更新。如果您想知道所有配置文件的位置,那么在shell中运行这个命令
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
其他回答
Picmate的答案是正确的。在windows上,主DB文件夹的位置是(至少在我的安装)
C:\PostgreSQL\9.2\data\base\
而且不是在程序文件中。
他的2个脚本,将给你确切的目录/文件(s)你需要:
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
我的在datname 16393和relfilenode 41603中
在我的Linux安装中,它在这里:/var/lib/postgresql/8.x/
你可以用initdb -D "c:/mydb/"
打开pgAdmin,进入特定数据库的属性。找到OID,然后打开目录
<POSTGRESQL_DIRECTORY>/data/base/<OID>
这里应该有您的DB文件。
在Windows7上,所有数据库都由C:\Program Files (x86)\PostgreSQL\8.2\data\global.下名为pg_database的文件中的一个数字引用然后,您应该在C:\Program Files (x86)\PostgreSQL\8.2\data\base.下根据该数字搜索文件夹名称这就是数据库的内容。
特定表/索引的位置可以通过TABLESPACEs进行调整:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
CREATE TABLE something (......) TABLESPACE dbspace;
CREATE TABLE otherthing (......) TABLESPACE dbspace;
推荐文章
- 查询JSON类型内的数组元素
- 获得PostgreSQL数据库中当前连接数的正确查询
- 纬度和经度的数据类型是什么?
- 如何在PostgreSQL中临时禁用触发器?
- 输入文件似乎是一个文本格式转储。请使用psql
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何添加列,如果不存在PostgreSQL?
- 如何在Postgres中获得两个字段的MIN() ?
- 截断Postgres数据库中的所有表
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录