Μορφοποιητής PostgreSQL
Μορφοποιήστε ερωτήματα και σενάρια PostgreSQL με κανόνες Postgres για σώματα συναρτήσεων σε εισαγωγικά δολαρίου, συμβολοσειρές διαφυγής E'', αναγνωριστικά σε διπλά εισαγωγικά, μετατροπές τύπων με :: και τελεστές JSON όπως οι ->> και @>. Όροι όπως RETURNING, ON CONFLICT και DO UPDATE SET ξεκινούν σε δικές τους γραμμές, ενώ οι μη κλειστές συμβολοσειρές, τα σχόλια ή οι παρενθέσεις αναφέρονται μαζί με τη γραμμή και τη στήλη τους. Σχεδιασμένο για προγραμματιστές που διαβάζουν μετεγκαταστάσεις και ερωτήματα.
Συχνές ερωτήσεις
Ποια σύνταξη PostgreSQL αναγνωρίζεται;
Αναγνωρίζονται τυπικές συμβολοσειρές με διπλά εισαγωγικά, συμβολοσειρές E'' με διαφυγές ανάστροφης καθέτου, συμβολοσειρές Unicode U&'', συμβολοσειρές bit B'' και X'', αναγνωριστικά σε διπλά εισαγωγικά και παράμετροι $1. Αναγνωρίζονται επίσης συμβολοσειρές σε εισαγωγικά δολαρίου, όπως $$...$$ ή $body$...$body$.
Τι συμβαίνει με τα σώματα συναρτήσεων σε εισαγωγικά δολαρίου;
Ένα σώμα σε εισαγωγικά δολαρίου διατηρείται ακριβώς όπως γράφτηκε, επειδή για την PostgreSQL είναι συμβολοσειρά. Η περιβάλλουσα εντολή CREATE FUNCTION μορφοποιείται, αλλά το ίδιο το σώμα δεν αλλάζει.
Διατηρούνται ανέπαφες οι μετατροπές τύπων και οι τελεστές;
Ναι. Τα casts όπως το value::integer παραμένουν ενωμένα, ενώ οι τελεστές όπως οι ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ και οι τελεστές κανονικών εκφράσεων ~ και ~* μαζί με τις αρνητικές μορφές τους δεν διαχωρίζονται ποτέ. Στο PostgreSQL το # είναι τελεστής, όχι σχόλιο.
Ποιες ρήτρες PostgreSQL τοποθετούνται σε δική τους γραμμή;
Οι RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE και FOR KEY SHARE παραμένουν ενωμένες ως ρήτρες. Οι συνήθεις ρήτρες SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT και OFFSET ξεκινούν επίσης σε δικές τους γραμμές.
Διατηρούνται τα σχόλια;
Ναι. Τα σχόλια γραμμής και μπλοκ παραμένουν στη θέση τους, ενώ τα ένθετα σχόλια μπλοκ, τα οποία επιτρέπει το PostgreSQL, διαβάζονται σωστά. Τα σχόλια μπλοκ πολλών γραμμών αποκτούν νέα εσοχή στη νέα τους θέση.
Υποστηρίζει το MERGE;
Ναι. Οι κλάδοι WHEN MATCHED και WHEN NOT MATCHED ξεκινούν σε νέες γραμμές, ώστε οι εντολές MERGE από την έκδοση PostgreSQL 15 και μετά να παραμένουν ευανάγνωστες.
Αλλάζει την πεζοκεφαλαία γραφή των λέξεων-κλειδιών;
Όχι. Οι λέξεις-κλειδιά και τα αναγνωριστικά διατηρούν τα πεζά και κεφαλαία που γράψατε. Τα αναγνωριστικά σε εισαγωγικά κάνουν διάκριση πεζών-κεφαλαίων στο PostgreSQL και δεν τροποποιούνται ποτέ.
Ποια σφάλματα εντοπίζονται;
Οι μη κλειστές συμβολοσειρές, τα αναγνωριστικά σε εισαγωγικά, οι συμβολοσειρές σε εισαγωγικά δολαρίου, τα σχόλια μπλοκ και οι μη ισορροπημένες παρενθέσεις αναφέρονται με γραμμή και στήλη. Το εργαλείο δεν ελέγχει ολόκληρη τη γραμματική του PostgreSQL ούτε το σχήμα σας.
Πόσο μεγάλο μπορεί να είναι το αρχείο εισόδου;
Έως 1 MB ανά αίτημα και 128 KB ανά εντολή. Τα αρχεία μετεγκατάστασης που περιέχουν πολλές εντολές μορφοποιούνται μία εντολή κάθε φορά και χωρίζονται με κενές γραμμές.
Μπορώ να επιλέξω την εσοχή;
Ναι. Χρησιμοποιήστε 2 ή 4 κενά ή tab. Το SQL σας επεξεργάζεται μόνο στη μνήμη και δεν αποθηκεύεται ποτέ.