尝试使用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` 文件中找到答案。
根据这个文件,可用的选项如下:
–logdir=
–svcname=