【问题标题】:Location of postgresql database on OS X?OS X上postgresql数据库的位置?
【发布时间】:2011-06-30 11:43:54
【问题描述】:

我确定这已得到解答,但我似乎找不到答案。

我使用安装到 /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 的新手,正在寻找作为数据库的文件或二进制文件。 那么,数据库在哪里,当我创建一个新数据库时它会去哪里?

【问题讨论】:

    标签: macos postgresql


    【解决方案1】:

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

    概要
    createdb [选项...] [数据库名称] [描述]

    描述
    createdb 创建一个新的 PostgreSQL 数据库。

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

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

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

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

    【讨论】:

    • 这正是我想知道的,并怀疑,但我讨厌现在真正知道。谢谢!
    • 有没有办法将数据库存储在不同的硬盘上?
    • @DataGreed:应该有,但我不知道。尝试在 dba.stackexchange.com 上提问
    【解决方案2】:

    运行以下查询:

    SHOW DATA_DIRECTORY;
    

    【讨论】:

      【解决方案3】:

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

      祝你好运!

      【讨论】:

      • 我使用的是 PostgreSQL 9.4.1,里面没有 /Library/PostgreSQL。
      • 我为您的情况感到抱歉,但这不是对我的回答投反对票的理由,因为我可以为您提供证据。也许在您的系统中,它位于其他地方...
      • 如果使用自制软件安装,如 OP 所示,则该位置不是 /Library...
      【解决方案4】:

      不同安装程序的当前行为记录在https://wiki.postgresql.org/wiki/Installers/Mac_OS_X#Known_Installers。正如上面有人评论的那样,Homebrew 没有将数据放在/Library 下。

      【讨论】:

        【解决方案5】:

        在我的情况下(不是自制软件),数据位置位于此文件 /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>
        

        【讨论】:

          【解决方案6】:

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

          1.目录--绝对路径

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

          2)。点击菜单“开始”

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

          4)。输入路径

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

          请将“用户名”更改为您的姓名,例如下面列出的“杰克”。

          /Users/jack/Library/Application Support/Postgres

          5)。选择“Go”按钮进入 Postgres 目录。

          你最终会发现 Postgres。

          2。逐步找到目录

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

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

          3)。选择“图书馆”按钮

          4)。双击文件持有者“Application Support”。

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

          干杯,

          迈克

          【讨论】:

            猜你喜欢
            • 2016-09-21
            • 1970-01-01
            • 1970-01-01
            • 2015-12-25
            • 2012-11-18
            • 2021-06-06
            • 1970-01-01
            • 2012-04-18
            • 1970-01-01
            相关资源
            最近更新 更多