PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zrobić system budowania dla PostgreSQL

Zawartość "cmd" systemu kompilacji tablica musi być tym, co wpiszesz w wierszu poleceń, aby uruchomić to polecenie - bazy danych nie są wyjątkiem. Nie wiem nic o elementach wewnętrznych Postgresa, ale jeśli musisz podać nazwę bazy danych w wierszu poleceń, musisz to zrobić w systemie budowania.

Istnieje jednak alternatywa dla potencjalnie dziesiątek systemów kompilacji leżących wokół - zdefiniowanie systemu kompilacji w .sublime-project plik. Według dokumentacji , .sublime-project plik może mieć trzy grupy bazowe:"folders" , "settings" i "build_systems" . Aby utworzyć projekt, otwórz foldery, które chcesz umieścić na pasku bocznym, a następnie kliknij Project -> Save Project As... . Wpisz jego nazwę i zapisz w logicznym miejscu. Następnie wybierz Project -> Edit Project , co otworzy .sublime-project plik ze składnią JSON. Powinno to wyglądać mniej więcej tak:

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
            // by default, Sublime uses double-backslashes :(
        }
    ],
}

Dodaj "build_systems": identyfikator po zamykającym nawiasie kwadratowym z "folders" i wstaw system kompilacji:

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "C:\\Users\\MattDMo\\Development\\DB\\my_postgres_db1"
        }
    ],
    "build_systems":
    [
        {
            "name": "my_postgres_db1",
            "cmd": ["C:/PostgreSQL/9.3/bin/psql.exe", "-W", "-U", "postgres", "-d", "my_postgres_db1", "-f", "$file"],
            // you can use either double backslashes or forward slashes on Windows. Forward is better :)
            "selector": "source.postgresql",
            "shell": true
        }
    ]
}

i powinieneś być gotowy. Teraz, gdy masz już swój szablon, możesz wykonać dowolną liczbę kopii pliku, dostosowując nazwę bazy danych i nazwę systemu budowania zgodnie z potrzebami. "name" pole pojawi się w Tools -> Build System menu i możesz wybrać go od razu lub użyć Automatic jeśli nie masz innych systemów kompilacji z "selector": "source.postgresql" w nich.

Wymaga to trochę pracy dla każdego DB, który masz, i będziesz musiał pamiętać, aby przełączyć aktywny projekt podczas przełączania DB (po prostu otwieram jedno okno dla każdego aktywnego projektu), ale poza tym to powinien rozwiązać twój problem. Zauważysz, że usunąłem "env": {"PGPASSWORD": "password"}, (w każdym razie powinna być w nawiasach kwadratowych) i zamiast tego dodano -W opcja wiersza poleceń do psql.exe aby poprosić o hasło. Nie ma możliwości zaszyfrowania .sublime-project plików, więc każdy, kto może je odczytać, zobaczy hasło do Twojego serwera. Nie wiem czy używam "shell": true importuje zmienne środowiskowe twojej powłoki, czy nie, podejrzewam, że nie, ale będziesz musiał przetestować. To będzie jedna rzecz, którą należy wprowadzić podczas uruchamiania systemu kompilacji, ale zwiększy to bezpieczeństwo całego systemu. Oczywiście możesz przywrócić, jeśli nie chcesz/potrzebujesz dodatkowych zabezpieczeń, ale jeśli jest to serwer publiczny, nie zrobiłbym tego.

Powodzenia!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Opóźnienie replikacji - przekroczenie max_slot_wal_keep_size, segmenty WAL nie zostały usunięte

  2. NLlogowanie do połączenia PostgreSQL

  3. Heroku Postgres:To połączenie zostało zamknięte

  4. Utwórz tablicę int8[] w ​​funkcji PostgreSQL C

  5. Wstawianie i wybieranie geometrii PostGIS z Gorm