请使用MacPorts在OS X(El Capitan)上安装PostgreSQL 9.4

本文将总结在OS X(El-Capitan)上使用MacPorts安装PostgreSQL 9.4的步骤。本文是之前撰写的英文文章《使用MacPorts在OS X 10.11上安装PostgreSQL 9.4》的日语翻译版本。

使用环境:

    • ハードウェア: MacBook Pro (Retina, 13-inch, Late 2013)

 

    • OS: OS X El-Capitan version 10.11.1

 

    パッケージ マネージャ: MacPorts version 2.3.4

在这里,假设MacPorts已经安装。如果尚未安装,请先安装,然后再更新MacPorts本身。

主要步骤:

    1. 使用 MacPorts 安装 PostgreSQL

 

    1. 准备客户端工具

 

    1. 准备初始数据库

 

    1. 设置自动启动

 

    尝试使用

使用MacPorts安装PostgreSQL。

在这个地方,我们将安装最新版本的PostgreSQL,即9.4.5版本。请执行以下命令以安装MacPorts。

$ sudo port install postgresql94-server

通过这个操作,所有必需的软件包都将安装完毕。此过程可能需要几分钟来完成。

一旦完成后,将会显示一个包含安装后执行步骤的笔记。建议将此部分记录下来或保存起来。

...
--->  Configuring postgresql94-server
--->  Building postgresql94-server
--->  Staging postgresql94-server into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting postgresql94-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load postgresql94-server
###########################################################
--->  Installing postgresql94-server @9.4.5_0
--->  Activating postgresql94-server @9.4.5_0

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql94/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql94/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql94/bin/initdb -D /opt/local/var/db/postgresql94/defaultdb' 

--->  Cleaning postgresql94-server
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

准备客户端工具

安装PostgreSQL服务器软件包时,客户端工具也会被一同安装。在这里,我们将进行一些配置,以使该工具能够顺利运行。

首先,使用以下命令将可设置的选项显示出来。

$ port select --list postgresql
Available versions for postgresql:
    none (active)
    postgresql94

在这里,我们可以看到作为客户端的postgresql94的选择。您可以使用以下命令来实际启用它。

$ sudo port select --set postgresql postgresql94
Selecting 'postgresql94' for 'postgresql' succeeded. 'postgresql94' is now active.

然后,再次运行 port select –list,将会得到以下类似的输出。

$ port select --list postgresql
Available versions for postgresql:
    none
    postgresql94 (active)

最后, 您可以通过以下命令确保客户端工具可以正常运行。

$ which psql
/opt/local/bin/psql

准备初始数据库

在以下步骤中,我们将初始化首选数据库。这里的说明是根据MacPorts提供的步骤,并且也在安装结束时显示的笔记中写明(请参阅)。PostgreSQL网站上也有类似的说明,称为First steps – PostgreSQL,但注意在我们的环境中可能无法完全执行。

首先,创建数据库文件的存放位置(目录)。

$ sudo mkdir -p /opt/local/var/db/postgresql94/defaultdb

接下来,将设置该目录的所有权。在这里,将使用特殊用户 postgres。

$ sudo chown postgres:postgres /opt/local/var/db/postgresql94/defaultdb

最后,使用以下命令实际初始化并创建数据库。

请确保在执行之前,当前所在的目录不是主目录或其他个人目录。如果当前目录没有读取权限,该命令将会失败。在执行之前,请先切换到像 /opt/local/ 这样任何人都可以访问的目录中。

$ cd /opt/local/
$ sudo su postgres -c '/opt/local/lib/postgresql94/bin/initdb -D /opt/local/var/db/postgresql94/defaultdb' 

当这个命令成功执行时,将会输出以下内容。

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

...

Success. You can now start the database server using:

    /opt/local/lib/postgresql94/bin/postgres -D /opt/local/var/db/postgresql94/defaultdb
or
    /opt/local/lib/postgresql94/bin/pg_ctl -D /opt/local/var/db/postgresql94/defaultdb -l logfile start

这里写有数据库的主要信息和手动启动的步骤。要手动启动,可以使用postgres或pg_ctl命令。要在系统启动时自动启动数据库,可以按照以下步骤进行设置。

自动启动的设置

在这里,我们将对系统启动时自动启动数据库的设置进行配置。这里使用的是MacPorts提供的方法,并且在安装完成后的提示中也有详细说明(请参考)。

$ sudo port load postgresql94-server

当完成时,数据库将启动,并且下次系统启动时也会自动启动数据库。

试用一下

安装已完成,现在可以使用以下任意命令访问数据库。这将使用默认用户posgtgres进行连接。

sudo -u postgres psql

或者

psql -U postgres

根据需要,之后将创建用户(角色)、模式或数据库。

另外,默认情况下,从本地计算机访问时不需要输入密码。也不允许从远程访问。若要更改此设置,请根据需要编辑数据库设置文件 /opt/local/var/db/postgresql94/defaultdb/pg_hba.conf。

广告
将在 10 秒后关闭
bannerAds