sql >> Databáze >  >> RDS >> PostgreSQL

Django s aplikací PostgreSQL na Heroku se nesynchronizuje

V souboru settings.py v původním kódu, který jste propojili zdá se, že máte dvě protichůdná deklarace pro vaše DATABASES nastavení:

1) řádek 3:

DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

2) řádek 16:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'traineeworld',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

3) Dodatečný kód vaší poslední úpravy také vypadá jako další metoda pro specifikaci argumentů připojení, která pravděpodobně opět neguje účinky předchozích deklarací.

Tyto metody nejsou určeny k tomu, aby se hromadily jedna na druhé. Chcete vybrat pouze jeden.

Technicky vzato, jako iniciátor připojení na straně klienta k db serveru byste měli vědět pokud má být server dostupný přes TCP (a v tomto případě jeho název hostitele nebo IP adresa plus port), nebo přes soubor soketu domény Unix a v tom případě jeho úplnou cestu k adresáři (začínající lomítkem). V obou případech to jde do HOST součástí parametrů připojení.

Postgres poskytuje výchozí hodnoty pro všechny z nich, ale jakmile smícháte a spojíte různé části softwaru z různých zdrojů, tyto výchozí hodnoty již nepomáhají a poskytování explicitních hodnot se stává požadavkem.

Pokud jste na pochybách o cestě soketu, uvnitř psql při připojení jako uživatel postgres lze tuto cestu získat příkazem SQL:

SHOW unix_socket_directory;

Toto nastavení je také přítomno v postgresql.conf na straně serveru konfigurační soubor.



  1. Formátování příkazového řádku MySQL s UTF8

  2. Nastavení velikosti stránky Innodb

  3. Problém s počáteční autorizací v mysql

  4. Jedinečná hodnota PostgreSQL s více sloupci