为了在OSX上安装PostgreSQL,您需要知道当前支持哪些版本。
使用此命令可以查看可用的版本。
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
您应该得到一个看起来像以下内容的列表:
postgresql80 @8.0.26 databases/postgresql80 postgresql81 @8.1.23 databases/postgresql81 postgresql82 @8.2.23 databases/postgresql82 postgresql83 @8.3.23 databases/postgresql83 postgresql84 @8.4.22 databases/postgresql84 postgresql90 @9.0.23 databases/postgresql90 postgresql91 @9.1.22 databases/postgresql91 postgresql92 @9.2.17 databases/postgresql92 postgresql93 @9.3.13 databases/postgresql93 postgresql94 @9.4.8 databases/postgresql94 postgresql95 @9.5.3 databases/postgresql95 postgresql96 @9.6beta2 databases/postgresql96
在本示例中,9.6支持最新版本的PostgreSQL,因此我们将安装该版本。
sudo port install postgresql96-server postgresql96
您将看到这样的安装日志:
---> Computing dependencies for postgresql96-server ---> Dependencies to be installed: postgresql96 ---> Fetching archive for postgresql96 ---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96 ---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96 ---> Installing postgresql96 @9.6beta2_0 ---> Activating postgresql96 @9.6beta2_0 To use the postgresql server, install the postgresql96-server port ---> Cleaning postgresql96 ---> Fetching archive for postgresql96-server ---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server ---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server ---> Installing postgresql96-server @9.6beta2_0 ---> Activating postgresql96-server @9.6beta2_0 To create a database instance, after install do sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb' ---> Cleaning postgresql96-server ---> Computing dependencies for postgresql96 ---> Cleaning postgresql96 ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found.
该日志提供了有关其余安装步骤的说明,因此我们接下来要进行说明。
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
现在我们启动服务器:
sudo port load -w postgresql96-server
验证我们可以连接到服务器:
su postgres -c psql
您将看到来自postgres的提示:
psql (9.6.1) Type "help" for help. postgres=#
您可以在此处键入查询以查看服务器正在运行。
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
并查看响应:
setting ------------------------------------------ /opt/local/var/db/postgresql96/defaultdb (1 row) postgres=#
输入\ q退出:
postgres=#\q
然后,您将回到shell提示符下。
恭喜你!现在,您在OS / X上有一个正在运行的PostgreSQL实例。