尝试使用Postgres包管理器

Postgres包管理器是什么?

在以前的Windows环境中,好像只有通过EnterpriseDB的交互式安装程序才能选择安装PostgreSQL,但是在下载页面上也有由BigSQL提供的图形化安装程序。

当安装EnterpriseDB的PostgreSQL 9.6时,会默认安装pgAdmin4并且使用起来不太方便,但是如果使用BigSQL的安装程序,可以选择安装pgAdmin3,感觉很好。

当我尝试从9.6.4版本升级到9.6.5版本时,在下载并运行安装程序时遇到了错误,似乎希望使用pgc来进行更新。

出现了一个错误。
此计算机上已经安装了一个版本。如果您想要升级您的安装,请使用PGCLI工具。

有关通过PGCLI工具升级现有安装的信息,请访问以下网址:

https://bigsql.org/upgrade_windows

如果您需要在此计算机上安装其他版本的PostgreSQL,请使用PGCLI工具进行安装。

PGCLI工具的文档可以在以下网址找到:

https://bitbucket.org/openscg/pgcli

通过BigSQL的图形化安装程序,似乎包含了一个名为pgc的Postgres Package Manager命令,可以通过命令行进行PostgreSQL的更新和其他管理操作。

安装pgc

既然这样,我会将它们全部卸载掉,然后从头开始安装pgc。

当你查看公式的”Setting started”页面时,似乎可以通过一条命令来安装pgc。

注意:在执行安装脚本时的当前目录

安装命令需要在管理员权限下启动命令提示符。虽然想要通过按下Windows键+ X来快速启动并执行命令,但由于会安装在当前目录的\bigsql\pgc中,所以可能会被放入C:\ WINDOWS \ system32 \ bigsql \ pgc中。只需将其移动到其他位置即可。

mkdir C:\pgc && cd C:\pgc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://s3.amazonaws.com/pgcentral/install.ps1'))"

创建一个名为C:\ pgc的目录,将其设置为当前目录,并执行安装脚本。这样,C:\ pgc \ bigsql \ pgc.bat将成为pgc命令。

将PostgreSQL和其他相关软件进行安装。

在Windows以外的操作系统(如macOS)中,使用pgc命令的方法与以下相同。
运行pgc list命令,将显示可用组件的列表。

Category     | Component | Version  | ReleaseDt  | Status    | Updates
PostgreSQL     pg92        9.2.23-1   2017-08-31
PostgreSQL     pg93        9.3.19-1   2017-08-31
PostgreSQL     pg94        9.4.14-1   2017-08-31
PostgreSQL     pg95        9.5.9-1    2017-08-31
PostgreSQL     pg96        9.6.5-1    2017-08-31
Servers        pgdevops    1.6-3      2017-08-10
Applications   backrest    1.20       2017-07-31
Applications   ora2pg      18.1       2017-03-23
Applications   pgadmin3    1.23.0b    2017-06-08
Applications   pgagent     3.4.1-1    2017-02-23
Applications   pgbadger    9.2        2017-07-31
Frameworks     java8       8u121      2017-02-09
Frameworks     perl5       5.20.3.3   2016-03-14
Frameworks     python2     2.7.12-1   2016-10-20   Installed
Frameworks     tcl86       8.6.4-1    2016-03-11

我尝试安装PostgreSQL 9.6.x和pgAdmin3。
pgc安装pg96
pgc安装pgadmin3

Category     | Component           | Version  | ReleaseDt  | Status         | Updates
PostgreSQL     pg92                  9.2.23-1   2017-08-31
PostgreSQL     pg93                  9.3.19-1   2017-08-31
PostgreSQL     pg94                  9.4.14-1   2017-08-31
PostgreSQL     pg95                  9.5.9-1    2017-08-31
PostgreSQL     pg96                  9.6.5-1    2017-08-31   NotInitialized
Extensions     cassandra_fdw3-pg96   3.0.1-1    2016-11-08
Extensions     hadoop_fdw2-pg96      2.5.0-1    2016-09-01
Extensions     oracle_fdw1-pg96      1.5.0-1    2016-09-01
Extensions     orafce3-pg96          3.4.0-1    2017-07-13
Extensions     pgaudit11-pg96        1.1.0-2    2017-05-18
Extensions     pgpartman2-pg96       2.6.4-1    2017-04-15
Extensions     pldebugger96-pg96     9.6.0-1    2016-12-28
Extensions     plprofiler3-pg96      3.2-1      2017-04-15
Extensions     postgis23-pg96        2.3.3-2    2017-07-31
Extensions     setuser1-pg96         1.4.0-1    2017-08-31
Extensions     tds_fdw1-pg96         1.0.8-1    2016-11-23
Servers        pgdevops              1.6-3      2017-08-10
Applications   backrest              1.20       2017-07-31
Applications   ora2pg                18.1       2017-03-23
Applications   pgadmin3              1.23.0b    2017-06-08   Installed
Applications   pgagent               3.4.1-1    2017-02-23
Applications   pgbadger              9.2        2017-07-31
Frameworks     java8                 8u121      2017-02-09
Frameworks     perl5                 5.20.3.3   2016-03-14
Frameworks     python2               2.7.12-1   2016-10-20   Installed
Frameworks     tcl86                 8.6.4-1    2016-03-11

完成后,在Superuser(postgres用户)密码的这一步会被显示为”已初始化”,然后使用pgc start命令启动PostgreSQL。可以使用pgc stop命令停止。可以使用pgc status命令检查是否运行或停止。

以服务形式启动

如果要像使用安装程序安装时一样将其作为服务运行,请执行以下命令:
pgc config pg96 –autostart=on
这将创建一个服务。
如果只是要创建而不进行使用,可以执行 pgc start pg96 命令来启动服务。

版本更新

更新版本

pgc update
pgc upgrade

即使没有明确表示停止,也能够进行升级。

主要的和次要的更新

当在 PGC 上更改主要版本或次要版本号时,它们被视为不同的软件包,因此需要安装新的软件包并迁移数据。(由于不太了解从 PGC 到 dbdump 等的使用方法,我们将停止使用…)

停止正在运动。

pgc stop pg96
pgc config pg96 --autostart=off
pgc disable pg96

禁用的意思只是让包禁用,看起来最好的做法是停止服务器运行,删除服务,使包无效。

探索如何使用pgc命令

文件在哪里?

pgc 配置

除了设置 `pg96` 的 `autostart` 参数为 `on`,还可以设置其他什么内容呢?
根据实现情况,可以在每个包的 `pg96\config-pg96.py` 文件中找到答案。
根据这个文件,可用的选项如下:

オプション例内容–port=5432ポート番号を5432に設定する。–autostart=onPostgreSQLサービス作成。(=offでサービス削除)–datadir=
–logdir=
–svcname=
bannerAds