Giter VIP home page Giter VIP logo

pgmanage's Introduction

pgManage - A fast PostgreSQL admin tool

A fast replacement for PGAdmin!

Postage was the first free, open source application to use a modern architecture for managing a PostgreSQL database.

Postage was benchmarked to be the fastest PostgreSQL Administration application for it's entire first year.

During that time it acquired thousands of users from dozens of countries all across the world.

Postage was the first to offer a "Design View" that produced a script that would drop and recreate only the items that depended on your object.

Postage has set the baseline of PostgreSQL Admin app speed and feature set and we are excited to witness the resulting growth and competition in the PostgreSQL ecosystem.

FEEDBACK AND BUG REPORTS

The developers can be reached through Workflow Products.

Roadmap

This project has been archived. We are consolidating our code base for ease of maintenance. We don't expect users to be affected.

New versions of pgManage will be available under the name Postage here.

An issue tracker is available. Please report problems here.

Copyright 2023 Workflow Products LLC

pgmanage's People

Contributors

michaeltocci avatar nunziotocci avatar josephtocci avatar justintocci avatar crosstocci avatar greyspots avatar rctay avatar

Stargazers

 avatar Mon avatar Kevin Rook avatar  avatar Travis Tennies avatar  avatar Joao C Costa avatar  avatar Wesley Bliss avatar  avatar EvanLabs avatar  avatar Klaus Ferreira avatar  avatar csnand avatar Yayan avatar Phuoc avatar Sinan Duman avatar  avatar turulomio avatar  avatar hongnod avatar Flávio Etrusco avatar Michael Yang avatar Rajkumar Singh avatar  avatar Anachron avatar  avatar Björn Roberg avatar Mark avatar Sylvain Comte avatar  avatar JeongHoon Baek avatar asjadsaboor avatar Ali Akbar avatar  avatar alex-eri avatar Hani Gamal avatar C W avatar jmaynier avatar  avatar Zak B. Elep avatar Ben avatar Vusi avatar Yevhen Ts. avatar Harsha Vardhan avatar  avatar Damien Sawyer avatar Brett Graves avatar Chris Bandy avatar Graham Stevens avatar Liu Yufu avatar yjz0065 avatar Anders Riutta avatar Ilmari Vacklin avatar Karl Stein avatar Mayeu avatar Tim Jones avatar Nathan Beals avatar  avatar Valentas avatar Federico avatar All man must die avatar Gregory Krohne avatar @PaulemPG avatar Adek Lanin avatar wmzy avatar Burak Sormageç avatar Brian Kolden avatar  avatar  avatar Eder Sosa avatar Arif Datoo avatar Antonio Cabrera avatar David Grelaud avatar Danilo Barion Nogueira avatar Priya Dhoundiyal avatar Jakub Narębski avatar Dan Dorman avatar Kayo avatar Mogens Heller Grabe avatar Ayo Power-Atiko avatar  avatar Moose avatar \\//\\//\\ avatar Crux avatar Von Yu avatar  avatar René Højbjerg Larsen avatar MOZGIII avatar  avatar Anthony DeBarros avatar Vitor Carvalho avatar Ondrej Bures avatar  avatar Ryuji Yamashita avatar

Watchers

James Cloos avatar Damien Sawyer avatar Ali Akbar avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar Graham Stevens avatar NAD ZWS avatar

pgmanage's Issues

Man page broken

Editing pgmanage-connections.conf, click "pgManage Man Page"

pgmanage

Cannot drag to resize results window

Hi. thank you for an exciting project!

I'm not sure if it's something I'm doing, but I can't resize the results pane more than a couple of hundred pixels.

I'm on Windows 10.

image

Welcome screen shows wrong PostgreSQL version

Just upgraded my database from PG 9.6.2 to version 10.4 database. When I connect, the welcome screen is showing: "Connected to PostgreSQL v4.2.1", where previously it gave the correct v9.6.2

Queries with semi-large outputs (~4k rows?) does not render completely

I have a SQL query which is supposed to return around 4k rows.

In the previous versions of Postage/pgManage, this is not an issue, but in the current version, some of the latter rows in the query returns as Undefined.

Am I missing a setting that must be tweaked or is this a conscious decision to manage performance when expecting big queries being displayed in the browser?

Thanks and great work as usual!

EDIT: I am using v10.0.2

Cannot start pgManage on Centos

You miss a requirement on Centos 7 libXss:
cannot open libXss.so.1
Solved by "sudo yum install libXScrnSaver"
Then you get:
pgmanage
copying config
/opt/pgManage/resources /pgmanage/pgmanage
got data:
/opt/pgManage/resources/app/pgmanage/pgmanage: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

4760 closed with code 127
Then I search for this error but not found

Sequences

Postgres 10 Sequences will open in the sql editor but not Postgres 9. It shows up in the list but not in the sql.

Beautify splits on CASE statements

For the most part I like beautify but one thing that I think would improve it a lot would be if you removed the line breaks around CASE statements.

Since the editor already wraps lines, I feel like it hurts the formatting more than it helps when CASE statements are split poorly, and they almost always are with the current beautify code.

consider this line the way I wrote it:
, sum(CASE WHEN ordered like '2018-05%' THEN COALESCE(sales_qty,0) ELSE 0 END) as mo_pcs

And how Beautify mangled it:

, sum(CASE WHEN ordered like '2018-05%' THEN COALESCE(sales_qty,0) 
			ELSE 0 
			END) as mo_pcs

1.0.0, can't open a closed tab

There was an error:

....\src\util_canonical.c:canonical: read_file: C:\Users\Alliance 100\AppData\Roaming\pgmanage\sql\secure_5432_postgres\postgres|closed\2017-10-30%2014%3A47%3A33%3A0519%3A0500%20 is a bad path. Path does not exist.

Failed to get canonical path: >C:\Users\Alliance 100\AppData\Roaming\pgmanage\sql\secure_5432_postgres\postgres|/closed/2017-10-30%2014%3A47%3A33%3A0519%3A0500%20<

Copy from Datasheet

When you copy from just one field in Pgmanage, it should not do any quotes nor should it have the popup. 99% of the time when you copy from just one field you just want the data by itself.

VOTE FOR COMMUNITY

To anyone who uses pgManage, please reply either way.

We are considering dropping "Web Server" mode.

It would simplify development and allow us to do more desktop integration if we walked away from the "Web Server" mode. Although this mode is the only one where you can use pgManage from a phone or tablet, we aren't aware of anyone using it this way. Let us know if you do.

In the absence of someone speaking up, we'll likely drop "Web Server" mode altogether.

If anyone feels it's useful, we'll consider our options. We may make it an unsupported configuration but I think it's more likely we'll split it off to a new project.

LOST WORK IN A SCRIPT!

This is a big deal because this was the whole reason we started a postgres admin app to start with.

There is no reason why I should have ever lost more than thirty seconds worth of work.

Please cause the interface to freeze if there is a problem saving a tab. This will prompt the user to refresh and prevent lost work.

Download as a file output incomplete

Say I have SQL Query tab opened with 2 SQL code blocks:

SELECT
    column4
    , column3
    , COUNT(DISTINCT column1)
FROM (
    SELECT DISTINCT
        column1
        , column2
        , column3
        , column4
        , column5
        , column6
        , column7
        , column8
    FROM public.my_table
) AS main_table
WHERE 
    column4 != 'C'
    AND column7<=column8
    AND column5 NOT LIKE '09%'
GROUP BY 1,2
ORDER BY 2, 1
;

SELECT
    column1
    , COUNT(DISTINCT column2)
FROM (
    SELECT DISTINCT
        column1
        , column2
        , column3
        , column4
        , column5
        , column5
        , column7
        , column8
FROM (
    SELECT DISTINCT
        column1
        , column2
        , column3
        , column4
        , column5
        , column6
        , column7
        , column8
     FROM public.my_table
) AS main_table
WHERE 
    column4 != 'C'
    AND column7<=column8
    AND column5 NOT LIKE 'notlikehis%'
GROUP BY 1
;

When pressing the Download as a file button, the output file only has this as an output:

SELECT  

Paste options dialog doesn't save

screen shot 2018-02-07 at 10 34 23 am

There should be a "Save" button between "Cancel" and "Recopy" that also re-copies.

I think this dialog should also be re-done based on the "Postage Options" dialog:
screen shot 2018-02-07 at 10 34 16 am

Login screen

Received a request about the login screen:

"PgManage can be the most powerful Postgres manager on the planet but if it looks like X-Emacs people are not going to flock to it. I think we should start with:

  1. Clean up initial login screen. IMO, you don't edit PGPASS, most users have no idea what that is. Instead, check for it. If it is there, load it and populate a drop down menu to select which database to connect to.

  2. Off the ability to add a new connection. Add that to .pgpass.

    • This should be a form not a text file
  3. Remove pgmanage-connections.conf, that seems redundant when we have .pgpass

  4. If we want to offer the ability to edit .pgpass manually, that's cool but we must also offer a way to save it. For example, I can't save my changes to pgmanage-connections.conf or at least it isn't obvious how.

  5. Every time we edit, we reload the .pgpass file. Why are we asking if we should reload it, or explicitly requesting a reload?"

Switching Tabs During Long Query

While a long query is running if I switch tabs and the query finishes it the tab hangs. I go back to it and it still says running, and stop execution does nothing. The tab is useless until a reload.

Doesn't work on Ubuntu 18.04

Hey there! I am very interested in this but it doesn't work on Ubuntu 18.04.

I tried both the 10.3.0 and 10.1.1 releases and they both do nothing when I click "Log On" after filling out a connection string.

karl@deathstar:/var/log$ cat syslog | grep pgmanage
Jun  8 13:35:57 deathstar gnome-software[3665]: failed to rescan: Failed to parse /usr/share/applications/pgmanage.desktop.dpkg-new file: cannot process file of type text/plain
Jun  8 13:36:00 deathstar gnome-software[3665]: failed to rescan: Failed to parse /usr/share/applications/pgmanage.desktop file: cannot process file of type application/x-desktop
Jun  8 13:36:10 deathstar pgmanage[31898]: Failed to load module "canberra-gtk-module"
Jun  8 13:36:11 deathstar pgmanage.desktop[31898]: copying config
Jun  8 13:36:11 deathstar pgmanage.desktop[31898]: /opt/pgManage/resources /pgmanage/pgmanage
Jun  8 13:36:11 deathstar pgmanage.desktop[31898]: got data:
Jun  8 13:36:11 deathstar pgmanage.desktop[31898]: Open http://<this computer's ip>:15772/ in your web browser
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: /opt/pgManage/resources /pgmanage/pgmanage
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: got data:
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: PGMANAGE IS SHUTTING DOWN
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: 32128 closed with code 0
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: got data:
Jun  8 13:37:28 deathstar pgmanage.desktop[31898]: Open http://<this computer's ip>:15772/ in your web browser
Jun  8 13:38:13 deathstar pgmanage.desktop[31898]: got data:
Jun  8 13:38:13 deathstar pgmanage.desktop[31898]: PGMANAGE IS SHUTTING DOWN
Jun  8 13:38:13 deathstar pgmanage.desktop[31898]: 32128 closed with code 0
Jun  8 13:39:01 deathstar gnome-software[3665]: failed to rescan: Failed to parse /usr/share/applications/pgmanage.desktop.dpkg-new file: cannot process file of type text/plain
Jun  8 13:39:01 deathstar gnome-software[3665]: failed to rescan: Failed to parse /usr/share/applications/pgmanage.desktop.dpkg-tmp file: cannot process file of type text/plain
Jun  8 13:39:05 deathstar gnome-software[3665]: failed to rescan: Failed to parse /usr/share/applications/pgmanage.desktop file: cannot process file of type application/x-desktop
Jun  8 13:39:10 deathstar pgmanage[32467]: Failed to load module "canberra-gtk-module"
Jun  8 13:39:10 deathstar pgmanage.desktop[32467]: /opt/pgManage/resources /pgmanage/pgmanage
Jun  8 13:39:10 deathstar pgmanage.desktop[32467]: got data:
Jun  8 13:39:10 deathstar pgmanage.desktop[32467]: Open http://<this computer's ip>:15772/ in your web browser
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: /opt/pgManage/resources /pgmanage/pgmanage
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: got data:
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: PGMANAGE IS SHUTTING DOWN
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: 32604 closed with code 0
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: got data:
Jun  8 13:39:38 deathstar pgmanage.desktop[32467]: Open http://<this computer's ip>:15772/ in your web browser
Jun  8 13:39:42 deathstar pgmanage.desktop[32467]: got data:
Jun  8 13:39:42 deathstar pgmanage.desktop[32467]: PGMANAGE IS SHUTTING DOWN
Jun  8 13:39:42 deathstar pgmanage.desktop[32467]: 32604 closed with code 0

autocomplete FROM

When autocompleting after a FROM, we should also list functions. Preferably only ones that return a set.

DROP SCHEMA CASCADE

I ran DROP SCHEMA CASCADE and pgmanage hung on the tree list refresh. Perhaps it thinks the schema still exists and tries to refresh it?

I do not think the CASCADE is necessary to replicate.

DISABLE TRIGGER scripts

In the table script there should be a section that goes like this:

/*
ALTER TABLE ... DISABLE TRIGGER ...;
ALTER TABLE ... DISABLE TRIGGER ...;
etc


ALTER TABLE ... ENABLE TRIGGER ...;
ALTER TABLE ... ENABLE TRIGGER ...;
etc
*/

So you can select it, click "Open in new tab", and then write a query between them.

PostgreSQL version detection

I just install pgManage on Ubuntu 18.04 with PostgreSQL version 10.3

The opening screen looks like this:

Welcome To pgManage v10.1.1
Connected to PostgreSQL v7.3.0

Great looking, super fast tool to start with. Thanks.

Warning Popup asks if I want to cancel, then quits anyway.

I clicked in the object browser and there was a hanging "getting list" popup so I decided to close and re-open pgManage.

What happened was I clicked the red "X" and got a dialog saying that it couldn't save my tab. So I clicked "cancel" because I very much wanted to save my tab manually before I quit, to save my work. Instantly pgManage quit and upon re-opening I found I lost work.

Javascript error on startup

I've been getting this error on startup ever since upgrading from 10.0.2 to 10.1.1, but removing and replacing with 10.0.0 does not fix it. After confirming the error, pgManage quits immediately.

macOS High Sierra v10.13.3

screen shot 2018-03-01 at 9 56 26 am

Text of message:

A JavaScript error occurred in the main process

Uncaught Exception:
TypeError: Error processing argument at index 0, conversion failure from #
at validateState (/Applications/pgManage.app/Contents/Resources/app.asar/node_modules/electron-window-state/index.js:46:34)
at module.exports (/Applications/pgManage.app/Contents/Resources/app.asar/node_modules/electron-window-state/index.js:154:3)
at App.appStart (/Applications/pgManage.app/Contents/Resources/app.asar/main.js:437:20)
at emitTwo (events.js:130:20)
at App.emit (events.js:213:7)

when opening the data editor on a table, the limit is 10 records

We want to keep the limit, but we need a popup to alert people that it is there.

Several times now I've gone to a table I know is small and it was missing a few records. Then I go to add the records and I get all kinds of weirdness. Then eventually I figure out that there is a limit.

So, ideally, set the limit to 100 records. Then the popup says, limit is 100 records, and shows two buttons, keep limit 100 or show all.

Feature Request: Browser Notification

It would be nice if there's a notification feature (e.g. Chrome notification) that users can enable so that they know if a query already finished even when leaving the tab.

Unnecessary Popup

screen shot 2018-02-07 at 10 34 08 am

This popup slows things down, "Clipboard Settings" should be behind as few clicks as possible (i.e. next to the fullscreen button).
"Data Settings" is for limiting the data shown, but people can already do that in their query. I think it's extraneous.

Confusing popup

The "About pgManage" popup (under "Options") has no obvious way to get out of the popup

generate script on table design out of order

the DROP should have come before the indexes

-- Index: usr.idx_rship_track_sales_id
-- DROP INDEX usr.idx_rship_track_sales_id;
CREATE INDEX idx_rship_track_sales_id ON usr.rship_track
   USING btree (sales_id);

-- Index: usr.idx_rship_track_shipped
-- DROP INDEX usr.idx_rship_track_shipped;
CREATE INDEX idx_rship_track_shipped ON usr.rship_track
   USING btree (shipped);

-- Index: usr.idx_rship_track_so_id
-- DROP INDEX usr.idx_rship_track_so_id;
CREATE INDEX idx_rship_track_so_id ON usr.rship_track
   USING btree (so_id);

DROP TABLE usr.rship_track01774107942391434;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.