PostgreSQL
Γενικά | |
---|---|
1996 | |
Είδος | σύστημα διαχείρισης σχεσιακής βάσης δεδομένων, ελεύθερο λογισμικό |
Διανομή | |
Έκδοση | 16.4 (8 Αύγουστος 2024)[1] |
Δοκιμαστική έκδοση | 17 release candidate 1 (5 Σεπτέμβριος 2024)[2] |
Λειτουργικά | FreeBSD, OpenBSD, Linux, macOS, Solaris, Microsoft Windows, |
Ανάπτυξη | |
Γραμμένο | C |
Σύνδεσμοι | |
Επίσημος ιστότοπος | |
https://www.postgresql.org | |
Αποθετήριο κώδικα | |
https://git.postgresql.org/gitweb/?p=postgresql.git |
Ιστορία
[Επεξεργασία | επεξεργασία κώδικα]Σχέδιο POSTGRES
[Επεξεργασία | επεξεργασία κώδικα]Postgres95
[Επεξεργασία | επεξεργασία κώδικα]PostgreSQL
[Επεξεργασία | επεξεργασία κώδικα]Χαρακτηριστικά
[Επεξεργασία | επεξεργασία κώδικα]- ANSI SQL 89, 92, 93
- 100% συμβατή
μ ε ACIDκ α ι πλήρη υποστήριξη commitκ α ι rollback. - Online αντίγραφα ασφαλείας: υψηλότερη ασφάλεια
κ α ι διαθεσιμότητατ ω ν δεδομένων. - Τύποι δεδομένων: numeric, decimal, smallint, integer, bigint, real, double, serial, char, varchar, bit, text, date, time, timestamp, interval, boolean, network address, geometric types
κ α ι πολλά άλλα. - Δυνατότητα δημιουργίας νέων τύπων δεδομένων από τους χρήστες.
- Αποθήκευση BLOBS (binary large objects), συμπεριλαμβανομένων αρχείων κειμένου, ήχου, εικόνων ή βίντεο.
- Πλήρης υποστήριξη συναρτήσεων συγκεντρωτικών αποτελεσμάτων (GROUP_BY) όπως COUNT, SUM, AVG, MIN, MAX, STDDEV and VARIANCE. Δυνατότητα δημιουργίας νέων συγκεντρωτικών συναρτήσεων εφόσον χρειαστεί.
- Υποστήριξη όλων
τ ω ν τύπων ενώσεων (cross, inner, outer, left, right, full, natural). - Συναρτήσεις ορισμένες από
τ ο ν χρήστη,ο ι οποίες μπορούνν α γραφούνσ ε πολλές γλώσσες προγραμματισμού όπως C, SQL, PL/pgSQL, TCL, Perl, Python and Ruby. - Περιβάλλον ανάπτυξης γλωσσών προγραμματισμού όπως Perl, Python, Zope, PHP, TCL/TK, ODBC, JDBC, C/C++, Embedded SQL, Delphi/Kylix/Pascal, VB, ASP, Java.
- Βιβλιοθήκη συναρτήσεων
κ α ι τελεστώνμ ε ορισμένες προεγκατεστημένες συναρτήσεις όπως math, date/time, string, geometric, formatingκ .α . - Συναρτήσεις trigger μπορούν
ν α οριστούν από οποιαδήποτε γλώσσα προγραμματισμούπ ο υ υποστηρίζει server όπως C ή PL/pgQL. - Προσωρινοί πίνακες
ο ι οποίοι σβήνονται αυτόματα μετάτ ο τέλος της συνόδου. - Μοντέλο ασφαλείας ομάδας/χρήστη.
Η πρόσβασησ τ ο διακομιστή της βάσης δεδομένων μπορείν α περιορίζεται απότ ο χρήστη, κεντρικό υπολογιστή ήμ ι α βάση δεδομένων. Τ ο μέγεθοςτ ο υ πίνακακ α ι της βάσης δεδομένων είναι σχεδόν απεριόριστο. Απεριόριστες καταχωρήσειςκ α ι ευρετήριαα ν α πίνακα.[5]
Υποστηριζόμενοι τύποι δεδομένων
[Επεξεργασία | επεξεργασία κώδικα]Λογικοί |
boolean, bool | bit(n ) | bit varying(n ), varbit(n ) | |||||
Χαρακτήρες ( Character types ) | character (n ), char(n ) | character varying(n ), varchar(n ) | text | |||||
Αριθμητικοί ( Numeric types ) | smallint, int2 | integer, int, int4 | bigint, int8 | real, float4 | double precision, float8, float | numeric(p,s ), decimal(p,s ) | money | serial |
Ημερομηνία |
date | time | time with time zone | timestamp (includes time zone) | interval | |||
Γεωμετρικοί ( Geometric types ) | box | line | lseg | circle | path | point | polygon | |
Δικτυακοί ( Network types ) | cidr | inet | macaddr | |||||
Συστήματος ( System types ) | oid | xid |
Συναρτήσεις
[Επεξεργασία | επεξεργασία κώδικα]Ορισμένες από τις συναρτήσεις
- pg_affected_rows: Επιστρέφει
τ ο ν αριθμότ ω ν επηρεαζόμενων εγγραφών. - pg_cancel_query: Ακύρωση ασύγχρονου ερωτήματος.
- pg_client_encoding: Λήψη της κωδικοποίησης
τ ο υ πελάτη. - pg_close: Κλείνει
μ ι α ενεργή σύνδεση. - pg_connect: Ανοίγει
μ ι α νέα σύνδεση. - pg_connection_busy: Επιστροφή κατάστασης σύνδεσης
α ν είναι απασχολημένη ή όχι. - pg_connection_reset: Επαναφορά σύνδεσης.
- pg_connection_status: Κατάσταση σύνδεσης.
- pg_convert: Μετατροπή αξίας πίνακα
σ ε κατάλληληγ ι α sql ερώτημα. - pg_copy_from: Εισαγωγή εγγραφών από πίνακα
σ ε πίνακα. - pg_copy_to: Αντιγραφή πίνακα
σ ε πίνακα. - pg_dbname: Λήψη
τ ο υ ονόματος της βάσης δεδομένων. - pg_delete: Διαγραφή εγγραφών.
- pg_end_copy: Συγχρονισμός
μ ε τ η ν PostgreSQL backend. - pg_execute: Αποστολή αιτήματος
γ ι α τ η ν εκτέλεση μιας έτοιμης δήλωσηςμ ε τις δοθείσες παραμέτρουςκ α ι αναμένειγ ι α τ ο αποτέλεσμα. - pg_fetch_result: Επιστροφή τιμών από πηγή αποτελεσμάτων.
- pg_field_is_null: Έλεγχος
α ν ένα πεδίο είναι κενό. - pg_field_name: Επιστροφή ονόματος πεδίου.
- pg_field_prtlen: Επιστροφή τυπωμένου μήκους.
- pg_field_table: Επιστροφή ονόματος ή αναγνωριστικού (OID) ενός πεδίου πίνακα.
- pg_field_type_oid: Επιστροφή αναγνωριστικού τύπου δεδομένων (OID)
γ ι α τ ο αντίστοιχο πεδίο. - pg_field_type: Επιστροφή ονομασίας τύπου δεδομένων
γ ι α τ ο αντίστοιχο πεδίο. - pg_free_result: Απελευθέρωση μνήμης αποτελεσμάτων.
- pg_get_result: Επιστροφή αποτελέσματος ασύγχρονου ερωτήματος.
- pg_host: Επιστρέφει
τ ο όνοματ ο υ κεντρικού υπολογιστή της σύνδεσης. - pg_last_notice: Επιστρέφει
τ ο τελευταίο μήνυμα ειδοποίησης απότ ο ν διακομιστή. - pg_lo_close: Κλείσιμο μεγάλου αντικειμένου.
- pg_lo_create: Δημιουργία μεγάλου αντικειμένου.
- pg_lo_export: Εξαγωγή μεγάλου αντικειμένου
σ ε αρχείο. - pg_lo_import: Εισαγωγή μεγάλου αντικειμένου από αρχείο.
- pg_lo_open: Άνοιγμα ενός μεγάλου αντικειμένου.
- pg_lo_read_all: Ανάγνωση μεγάλου αντικειμένου
κ α ι αποστολήσ τ ο ν browser. - pg_lo_read: Ανάγνωση μεγάλου αντικειμένου.
- pg_lo_seek: Αναζήτηση θέσης μέσα
σ ε ένα μεγάλο αντικείμενο. - pg_lo_tell: Επιστρέφει
τ η ν τρέχουσα θέση ενός μεγάλου αντικειμένου. - pg_lo_unlink: Διαγραφή μεγάλου αντικειμένου.
- pg_lo_write: Εγγραφή μεγάλου αντικειμένου.
- pg_meta_data: Λήψη μεταδεδομένων πίνακα.
- pg_num_fields: Επιστρέφει
τ ω ν αριθμότ ω ν πεδίωνσ ε ένα αποτέλεσμα. - pg_num_rows: Επιστρέφει
τ ο ν αριθμότ ω ν εγγραφώνσ ε ένα αποτέλεσμα. - pg_options: Επιλογές
π ο υ σχετίζονταιμ ε τ η ν σύνδεση. - pg_parameter_status: Τρέχουσα ρύθμιση παραμέτρων διακομιστή.
- pg_port: Επιστρέφει
τ ο ν αριθμό θύρας (port)π ο υ σχετίζεταιμ ε τ η ν σύνδεση. - pg_prepare: Υποβολή αίτησης
γ ι α τ η ν δημιουργία δήλωσηςμ ε τις δεδομένες παραμέτρους. - pg_query_params: Υποβάλλει
μ ι α εντολήσ τ ο ν διακομιστή αναμένονταςγ ι α τ ο αποτέλεσμα ,μ ε τ η ν δυνατότηταν α περάσετε παραμέτρους μέσω sql κειμένου. - pg_query: Εκτέλεση ενός ερωτήματος.
- pg_result_error: Μήνυμα λάθους
π ο υ σχετίζεταιμ ε τ ο αποτέλεσμα. - pg_result_status: Κατάσταση αποτελέσματος ενός ερωτήματος.
- pg_select: Επιλογή εγγραφών.
- pg_send_execute: Στέλνει ένα αίτημα
σ τ ο ν διακομιστήγ ι α τ η ν εκτέλεση δήλωσηςμ ε τις δεδομένες παραμέτρους χωρίςν α περιμένειτ η ν ολοκλήρωσητ ο υ . - pg_send_prepare: Στέλνει ένα αίτημα
σ τ ο ν διακομιστήγ ι α τ η ν δημιουργία δήλωσηςμ ε τις δεδομένες παραμέτρους χωρίςν α περιμένειτ η ν ολοκλήρωσητ ο υ . - pg_send_query_params: Υποβάλλει
μ ι α εντολήκ α ι διαφορετικές παραμέτρουςσ τ ο ν διακομιστή χωρίςν α περιμένειγ ι α τ ο αποτέλεσμα. - pg_send_query: Αποστέλλει ασύγχρονο ερώτημα.
- pg_set_client_encoding: Ρύθμιση κωδικοποίησης πελάτη.
- pg_set_error_verbosity: Καθορίζει
τ η ν ακρίβειατ ω ν μηνυμάτωνπ ο υ επιστρέφονται. - pg_trace: Ενεργοποίηση εντοπισμού μιας σύνδεσης.
- pg_untrace: Απενεργοποίηση εντοπισμού μιας σύνδεσης.
- pg_update: Ενημέρωση πίνακα.
- pg_version: Επιστρέφει έναν πίνακα
τ ο υ πελάτη.[7]
Διαχείριση βάσης δεδομένων
[Επεξεργασία | επεξεργασία κώδικα]Έχει σχεδιαστεί
Διακεκριμένοι χρήστες
[Επεξεργασία | επεξεργασία κώδικα]Εκατοντάδες εταιρείες
- Ηλεκτρονικό εμπόριο (RedSherriff, Whitepages.com)
- Εκπαίδευση (Πανεπιστημια Σίδνεϊ, Όσλο, Μπέρκλεϊ, Charles (Πράγα), αστρονομικό ινστιτούτο Sternberg (Ρωσία)
κ .α .) - Οικονομία (Journyx Timesheets, Logictree Systems, Trust-Commerce)
- Ψυχαγωγικό Λογισμικό (MobyGames)
- Κυβερνητικές οργανώσεις (Ταμείο Ενωμένων Εθνών
γ ι α τ α παιδιά, οργανισμόςτ ω ν Ηνωμένων Εθνών βιομηχανικής ανάπτυξης, Υπηρεσία διεθνούς ανάπτυξηςτ ω ν Η .Π .Α .κ .α .) - Υγεία (CalorieKing.com, GNUmed, Shannon Medical Center)
- Βιομηχανία (eXo2.net Corp)
- Μέσα ενημέρωσης (Greenpeace, IMDB.com)
- Τεχνολογία (Apple, Fujitsu, Red Hat, Sun Microsystems)
- Τηλεπικοινωνίες (Skype, Cisco)[9]
Βραβεία
[Επεξεργασία | επεξεργασία κώδικα]- 1999 LinuxWorld Editor's Choice Award for Best Database
- 2000 Linux Journal Editors' Choice Awards for Best Database
- 2002 Linux New Media Editors Choice Award for Best Database
- 2003 Linux Journal Editors' Choice Awards for Best Database
- 2004 Linux New Media Award For Best Database
- 2004 Linux Journal Editors' Choice Awards for Best Database
- 2004 ArsTechnica Best Server Application Award
- 2005 Linux Journal Editors' Choice Awards for Best Database
- 2006 Linux Journal Editors' Choice Awards for Best Database
- 2008 Developer.com Product of the Year, Database Tool[10]
Αναφορές
[Επεξεργασία | επεξεργασία κώδικα]- ↑ «PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, and 17 Beta 3 Released!». 8 Αύγουστος 2024.
- ↑ «PostgreSQL 17 RC1 Released!». 8 Σεπτέμβριος 2024.
- ↑ «
Τ ι είναιη PostgreSQL». Επίσημη ιστοσελίδα PostgreSQL. PostgreSQL Global Development Group. Ανακτήθηκε στις 21 Νοεμβρίου 2011. - ↑ «Ιστορικά στοιχεία της PostgreSQL». PostgreSQL 9.1.1 Documentation. PostgreSQL Global Development Group. Ανακτήθηκε στις 21 Νοεμβρίου 2011.
- ↑ «Χαρακτηριστικά της PostgreSQL». PostgreSQL Feature Matrix. PostgreSQL Global Development Group. Ανακτήθηκε στις 21 Νοεμβρίου 2011.
- ↑ «Τύποι δεδομένων
σ τ η ν PostgreSQL». PostgreSQL supported data types. Αρχειοθετήθηκε απότ ο πρωτότυπο στις 19 Νοεμβρίου 2011. Ανακτήθηκε στις 22 Νοεμβρίου 2011. - ↑ «Συναρτήσεις
σ τ η ν PostgreSQL». PostgreSQL Functions. Ανακτήθηκε στις 22 Νοεμβρίου 2011. - ↑ «pgAdmin». Introduction. PostgreSQL Global Development Group. Ανακτήθηκε στις 21 Νοεμβρίου 2011.
- ↑ «Διακεκριμένοι χρήστες της PostgreSQL». PostgreSQL Featured Users. PostgreSQL Global Development Group. Αρχειοθετήθηκε από
τ ο πρωτότυπο στις 30 Δεκεμβρίου 2006. Ανακτήθηκε στις 21 Νοεμβρίου 2011. - ↑ «Βραβεία της PostgreSQL». PostgreSQL Awards. PostgreSQL Global Development Group. Αρχειοθετήθηκε από
τ ο πρωτότυπο στις 12 Φεβρουαρίου 2018. Ανακτήθηκε στις 21 Νοεμβρίου 2011.