OS X上的postgresql数据库的位置?

时间:2011-02-19 19:08:00

标签: macos postgresql

我确信这已经得到了解答,但我似乎无法找到答案。

我使用安装到/ usr / local / Cellar / postgresql的Homebrew(brew install postgresql)安装了postgresql。按照说明的后记我做了这个:

If this is your first install, create a database with:
    initdb /usr/local/var/postgres

据我了解,initdb创建了一个新的数据库集群。所以,当我这样做时,上面的“postgres”数据库名称和数据库本身,或者只是所有postgresql数据库需要的所有必要位?

实际的数据库最终会在哪里生活?我是postgresql的新手,正在寻找作为数据库的文件或二进制文件。 那么,数据库在哪里,当我创建一个新数据库时,它会去哪里?

6 个答案:

答案 0 :(得分:42)

initdb只是设置目录结构,以及创建新数据库所需的目录结构。要创建数据库,请使用createdb

  

<强>概要
  createdb [选项...] [dbname] [描述]

     

<强>描述
  createdb创建了一个新的PostgreSQL数据库。

     

通常,执行此命令的数据库用户将成为所有者   新数据库。但是,可以通过-O选项指定不同的所有者,   如果执行用户具有适当的权限。

     

createdb是SQL命令CREATE DATABASE [create_database(7)]的包装器。   通过此实用程序创建数据库之间没有有效的区别   通过其他方法访问服务器。

initdb有点像在硬盘上创建新文件系统:首先创建文件系统(initdb),然后创建文件和目录(createdb

创建数据库后,实际数据库文件将在/usr/local/var/postgres下。因此,只需创建一个数据库,然后查看/usr/local/var/postgres下的新内容或更改内容。没有一个“dbname.db”文件或类似的东西,每个数据库都是一组文件,其名称只对数据库服务器有意义。

答案 1 :(得分:2)

系统:MAC OS X 10.9.5 现在(版本9.4)这是在名为/Library/PostgreSQL的目录下 如果你去那里,打开名为ver的文件夹。你的PG然后转到data文件夹,你会找到你的数据库。这实际上是一组许多不同的二进制和文本文件(其中大多数都是用“92891”这样的长数字命名的...... 注意,要打开data文件夹,您必须打开其属性(单击鼠标右键并选择“获取信息”)并允许您阅读此文件夹。 如果您对此不熟悉,我建议您不要打开RW权限,因为任何最小的更改都会影响整个数据库,这会很难过。

祝你好运!

答案 2 :(得分:1)

在我的情况下(不是自制软件),数据位置可在此文件/Library/LaunchDaemons/com.edb.launchd.postgresql-9.3.plist

中找到
   <array>
            <string>/Users/me/bin/postgres/bin/postmaster</string>
            <string>-D/Users/me/data/postgres</string>
   </array>

答案 3 :(得分:1)

https://wiki.postgresql.org/wiki/Installers/Mac_OS_X#Known_Installers中记录了不同安装程序的当前行为。如上文所述,Homebrew不会将数据放在/Library下。

答案 4 :(得分:1)

由于Mac中存在三种不同的库,因此开发人员通常会对这三种情况感到困惑。但是,您可以使用Mac计算机上的两种方法之一找到PostgreSQL目录。

1。目录-绝对路径

1)。向上滚动鼠标到Mac屏幕的左上方

2)。点击菜单“开始”

3)。选择“转到文件夹...”

4)。输入路径

/用户/用户名/库/应用程序支持/ Postgres

请将“用户名”更改为您的名字,例如“ jack”,如下所示。

/ Users / jack / Library / Application Support / Postgres

5)。选择按钮“转到”到Postgres目录。

您最终将找到Postgres。

2。逐步找到目录

1)。向上滚动鼠标到Mac屏幕的左上方。

2)。点击菜单“开始”。

3)。选择按钮“库”

4)。双击文件持有人“应用程序支持”。

5)。根据字母顺序找出“ Postgres”。

干杯

迈克

答案 5 :(得分:0)

运行以下查询:

SHOW DATA_DIRECTORY;