sql >> Database >  >> RDS >> PostgreSQL

Django met PostgreSQL-app op Heroku synchroniseert niet

In de settings.py in de originele code die je linkte naar, het lijkt erop dat u twee tegenstrijdige verklaringen heeft voor uw DATABASES instelling:

1) regel 3:

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

2) regel 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) Ook lijkt de aanvullende code van uw laatste bewerking nog een andere methode om de verbindingsargumenten te specificeren, die waarschijnlijk weer de effecten van de vorige declaraties tenietdoet.

Deze methoden zijn niet bedoeld om op elkaar te worden gestapeld. Je wilt er maar één kiezen.

Ook, technisch gezien, moet je als initiator van een client-side verbinding met een db-server weten als de server moet worden bereikt via TCP (en in dit geval de hostnaam of het IP-adres plus poort), of via een Unix-domein-socketbestand, en in dat geval het volledige directorypad (beginnend met een schuine streep). In beide gevallen gaat dit naar de HOST onderdeel van de verbindingsparameters.

Postgres biedt standaardwaarden voor al deze, maar zodra u verschillende softwareonderdelen uit verschillende bronnen mixt en matcht, helpen deze standaardwaarden niet langer en wordt het geven van expliciete waarden een vereiste.

Bij twijfel over het pad van de socket, binnen psql wanneer verbonden als de postgres-gebruiker, kan dit pad worden verkregen door het SQL-commando:

SHOW unix_socket_directory;

Deze instelling is ook aanwezig in de server-side postgresql.conf configuratiebestand.



  1. Belang van backtick rond tabelnaam in MySQL-query

  2. Hoe maak ik een externe sleutel in SQL Server?

  3. Hoe php/MySQL COUNT (id) te debuggen, retourneert 1 in plaats van de totale invoerwaarde

  4. Spring Data @CreatedDate annotatie werkt niet voor mij