| 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]] |