Änderungen

Zur Navigation springen Zur Suche springen
1.325 Bytes hinzugefügt ,  08:43, 20. Jan. 2024
Zeile 4: Zeile 4:     
Die [[Debian]]-Pakete sehen getrennte Konfigurations- und Datenverzeichnisse vor. Siehe https://wiki.debian.org/PostgreSql .
 
Die [[Debian]]-Pakete sehen getrennte Konfigurations- und Datenverzeichnisse vor. Siehe https://wiki.debian.org/PostgreSql .
 +
 +
Siehe zu ersten Schritten mit Postgres auch:
 +
* https://www3.ntu.edu.sg/home/ehchua/programming/sql/PostgreSQL_GetStarted.html
    
=== User anlegen ===
 
=== User anlegen ===
Zeile 19: Zeile 22:  
Ggf. muss man noch die Datei <code> /etc/postgresql/9.5/main/pg_hba.conf </code> so anpassen, dass auch eine Einwahl mit Passwort möglich ist. Dazu ist eine Zeile wie die folgende einzutragen:
 
Ggf. muss man noch die Datei <code> /etc/postgresql/9.5/main/pg_hba.conf </code> so anpassen, dass auch eine Einwahl mit Passwort möglich ist. Dazu ist eine Zeile wie die folgende einzutragen:
 
   local MYDB MYPOSTGRESUSER password
 
   local MYDB MYPOSTGRESUSER password
 +
 +
Die Reihenfolge der Zeilen ist wichtig.<ref>Siehe https://www.postgresql.org/docs/current/auth-pg-hba-conf.html </ref>. Eine Zeile wie 
 +
  local  all            all                                    peer
 +
sollte daher hinter anderen local-Anweisungen stehen, die spezifischere Authentifizierungsmethoden wie <code>md5</code> oder <code>password</code> kennen.
    
In <code>$HOME/.pgpass</code> kann man zum Verzicht auf die Passworteingabe Zeilen nach dem folgenden Muster einfügen:<ref>https://www.postgresql.org/docs/11/static/libpq-pgpass.html</ref>
 
In <code>$HOME/.pgpass</code> kann man zum Verzicht auf die Passworteingabe Zeilen nach dem folgenden Muster einfügen:<ref>https://www.postgresql.org/docs/11/static/libpq-pgpass.html</ref>
Zeile 33: Zeile 40:     
   SELECT version();
 
   SELECT version();
 +
 +
=== Konfigurationsdatei ===
 +
 +
Um den Ort der Konfigurationsdateien des Postgres-Servers zu finden verwendet man
 +
 +
  sudo -u postgres psql
 +
 +
und folgende Befehle<ref>Siehe https://www.postgresql.org/docs/current/runtime-config-file-locations.html</ref>
 +
  SHOW data_directory;
 +
  SHOW config_file;
 +
  SHOW hba_file;
 +
 +
=== Postgres on Android ===
 +
 +
PostgresSQL läuft auch auf Android. Dazu benötigt man die App Termux. Siehe
 +
* https://stackoverflow.com/questions/33474468/can-i-use-postgresql-in-android-phone
    
== Zeilenbasierte Zugriffsrechte ==
 
== Zeilenbasierte Zugriffsrechte ==
Zeile 42: Zeile 65:  
* https://blog.2ndquadrant.com/application-users-vs-row-level-security/
 
* https://blog.2ndquadrant.com/application-users-vs-row-level-security/
   −
== REST-API mit Node.js und PostgreSQL ==
+
== Node.js-Zugriff auf PostgreSQL ==
 +
=== Node.js-Client-Bibliotheken für JavaScript und TypeScript ===
 +
 
 +
Siehe
 +
* [[Softwareentwicklung#JavaScript for PostgreSQL]]
 +
* [[TypeScript#TypeScript und PostgreSQL]]
 +
 
 +
=== REST-API mit Node.js und PostgreSQL ===
 
Siehe  
 
Siehe  
 
* [https://github.com/jorditost/node-postgres-restapi node-postgres-restapi]
 
* [https://github.com/jorditost/node-postgres-restapi node-postgres-restapi]
Zeile 55: Zeile 85:  
* [https://wiki.postgresql.org/wiki/File:PostgreSQL_Window_Functions.pdf Window Functions um ein FIFO-System in der Datenbank zu erstellen] - ausführliche Anleitung
 
* [https://wiki.postgresql.org/wiki/File:PostgreSQL_Window_Functions.pdf Window Functions um ein FIFO-System in der Datenbank zu erstellen] - ausführliche Anleitung
 
* [https://stackoverflow.com/questions/43831286/postgres-fifo-query-calculate-profit-margin Window Functions um ein FIFO-System in der Datenbank zu erstellen] - Stackoverflow-Code ohne Erläuterung; die dort genannte Lösung dürfte nicht sehr gut skalieren, weil - zumindest als Zwischenergebnis - jedes einzelne Stück angeschaut wird (für 10000 in vier Lieferungen heraus- und hereingenommene Stücke entstehen dadurch mindestens 10000 Datensätze).
 
* [https://stackoverflow.com/questions/43831286/postgres-fifo-query-calculate-profit-margin Window Functions um ein FIFO-System in der Datenbank zu erstellen] - Stackoverflow-Code ohne Erläuterung; die dort genannte Lösung dürfte nicht sehr gut skalieren, weil - zumindest als Zwischenergebnis - jedes einzelne Stück angeschaut wird (für 10000 in vier Lieferungen heraus- und hereingenommene Stücke entstehen dadurch mindestens 10000 Datensätze).
 +
 +
== Rest-API mit Postgres ==
 +
 +
Siehe
 +
* https://postgrest.org/ basiert auf Haskell
 +
* pREST - basiert auf Go
 +
* [[Supabase]]
 
------
 
------
 
<references/>
 
<references/>
 
[[Category:Datenbank]]
 
[[Category:Datenbank]]
 
[[Category:ServerSoftware]]
 
[[Category:ServerSoftware]]

Navigationsmenü