PostgreSQL数据库的文件存储在哪里?
当前回答
在我的Linux安装中,它在这里:/var/lib/postgresql/8.x/
你可以用initdb -D "c:/mydb/"
其他回答
一个终端命令: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
打开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.下根据该数字搜索文件夹名称这就是数据库的内容。
我敢打赌你会问这个问题,因为你已经尝试了pg_ctl start,并收到以下错误:
pg_ctl:未指定数据库目录,环境变量PGDATA未设置
换句话说,您要在pg_ctl start命令中寻找放在-D之后的目录。
在本例中,您要查找的目录包含这些文件。
PG_VERSION pg_dynshmem pg_multixact
pg_snapshots pg_tblspc postgresql.conf
base pg_hba.conf pg_notify
pg_stat pg_twophase postmaster.opts
global pg_ident.conf pg_replslot
pg_stat_tmp pg_xlog postmaster.pid
pg_clog pg_logical pg_serial
pg_subtrans postgresql.auto.conf server.log
您可以通过使用操作系统提供的搜索来定位上面的任何文件和目录来定位它。
例如,在我的例子中(在Mac OS X上安装HomeBrew),这些文件位于/usr/local/var/ postgress中。要启动服务器,我输入:
pg_ctl -D /usr/local/var/postgres -w start
... 这很有效。
要查看数据目录的位置,请使用此查询。
show data_directory;
要查看所有运行时参数,请使用
show all;
您可以创建表空间来在文件系统的其他部分存储数据库对象。要查看可能不在该数据目录中的表空间,请使用此查询。
SELECT *, pg_tablespace_location(oid) FROM pg_tablespace;
推荐文章
- 如何在Postgres中获得两个字段的MIN() ?
- 截断Postgres数据库中的所有表
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录
- 如何查找Postgres / PostgreSQL表及其索引的磁盘大小
- 是使用各有一个模式的多个数据库更好,还是使用一个数据库有多个模式更好?
- 如果字符串包含
- 对于PostgreSQL表来说,多大才算太大?
- 将一列的多个结果行连接为一列,按另一列分组
- 使用pgadmin连接到heroku数据库
- 在PostgreSQL中快速发现表的行数
- 更改varchar列的大小为较低的长度
- 如何首次配置postgresql ?