You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm starting to think about what the interface for a new PGXN command-line client should look like. The goal is a modularized architecture to support the various audiences and use-cases, while also preserving the existing interface, or at least the most-used commands.
So I made this sketch. Is this something you'd use?
Commands
Common Commands
targets: View and select local Postgres installations for which the CLI
manages extensions
ls: list known installations of Postgres
manage: Select an installations of Postgres to manage
add: Add an installation of Postgres
rm: Remove an installation of Postgres
Developer Commands
develop: Manage the extension development lifecycle
new: Create a new extension from templates. Options: --type, --language, --vcs
increment: Increment the version in the control file and add an
upgrade script from the previous version
require: Update the metadata with a new requirement, either Postgres
version or another extension. And perhaps a third-party dependency
(use metadata commands instead?)
build: Build the extension
install: Install the extension. Options: --destdir
uninstall: Uninstall the extension
test: Run the test suite. Include psql connection options.
release: Package the source and release on PGXN
Trunk Packaging Commands
trunk: Manage trunk packages for currently-managed install
build: Build the extension and bundle into a trunk
push: Push a trunk (update image index as appropriate)
pull: Pull a trunk
User commands
ls: List installed extensions
install: Install or upgrade a trunk or download and compile
check: Run installcheck for a source distribution
uninstall: Uninstall a package
search: Search PGXN
download: Download a source distribution
pull: Pull a trunk distribution
load: Run CREATE EXTENSION for an extension
unload: Run DROP EXTENSION for an extension
info: Show info for a trunk or source distribution
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I'm starting to think about what the interface for a new PGXN command-line client should look like. The goal is a modularized architecture to support the various audiences and use-cases, while also preserving the existing interface, or at least the most-used commands.
So I made this sketch. Is this something you'd use?
Commands
Common Commands
targets
: View and select local Postgres installations for which the CLImanages extensions
ls
: list known installations of Postgresmanage
: Select an installations of Postgres to manageadd
: Add an installation of Postgresrm
: Remove an installation of PostgresDeveloper Commands
develop
: Manage the extension development lifecyclenew
: Create a new extension from templates. Options:--type
,--language
,--vcs
increment
: Increment the version in the control file and add anupgrade script from the previous version
require
: Update the metadata with a new requirement, either Postgresversion or another extension. And perhaps a third-party dependency
(use
metadata
commands instead?)build
: Build the extensioninstall
: Install the extension. Options:--destdir
uninstall
: Uninstall the extensiontest
: Run the test suite. Include psql connection options.release
: Package the source and release on PGXNTrunk Packaging Commands
trunk
: Manage trunk packages for currently-managed installbuild
: Build the extension and bundle into a trunkpush
: Push a trunk (update image index as appropriate)pull
: Pull a trunkUser commands
ls
: List installed extensionsinstall
: Install or upgrade a trunk or download and compilecheck
: Runinstallcheck
for a source distributionuninstall
: Uninstall a packagesearch
: Search PGXNdownload
: Download a source distributionpull
: Pull a trunk distributionload
: RunCREATE EXTENSION
for an extensionunload
: RunDROP EXTENSION
for an extensioninfo
: Show info for a trunk or source distributionhelp
: Show helpmirror
: Show list of available mirrorsBuild Tooling
Initial Build Pipelines
Future Build Pipelines
Makefile.PL
orBuild.PL
Initial Platforms
Future Platforms
Beta Was this translation helpful? Give feedback.
All reactions