PostgreSQL数据库的文件存储在哪里?
当前回答
在我的Linux安装中,它在这里:/var/lib/postgresql/8.x/
你可以用initdb -D "c:/mydb/"
其他回答
在Windows上,PostgresSQL文档中描述的PGDATA目录在C:\Program Files\PostgreSQL\8.1\data.这样的地方特定数据库的数据位于(例如)C:\Program Files\PostgreSQL\8.1\data\base\ 100929下,我猜100929是数据库号。
Mac系统:/Library/PostgreSQL/9.0/data/base
不能进入目录,但可以通过:sudo du -hc data查看内容
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中
要查看数据目录的位置,请使用此查询。
show data_directory;
要查看所有运行时参数,请使用
show all;
您可以创建表空间来在文件系统的其他部分存储数据库对象。要查看可能不在该数据目录中的表空间,请使用此查询。
SELECT *, pg_tablespace_location(oid) FROM pg_tablespace;
一个终端命令:pg_lsclusters(使用Ubuntu)
你需要的是在数据目录下:
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
11 main 5433 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
推荐文章
- 如何改变一个列的数据类型在PostgreSQL表?
- 获取PostGIS版本
- 如何添加“删除级联”约束?
- 如何将PostgreSQL从9.6版本升级到10.1版本而不丢失数据?
- 为现有数据库生成ERD
- PostgreSQL错误:由于与恢复冲突而取消语句
- 按IN值列表排序
- 如何在Postgres 9.4中对JSONB类型的列执行更新操作
- PostgreSQL列名区分大小写吗?
- postgresql COUNT(DISTINCT…)非常慢
- Postgres:检查数组字段是否包含值?
- 如何在postgresql中创建数据库用户?
- 使用PSQL命令查找主机名和端口
- Postgresql列表和排序表的大小
- 选择其他表中没有的行