PostgreSQL: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 16: | Line 16: | ||
psql -d my_test_db | psql -d my_test_db | ||
== Tips == | |||
* 'Upserting' (INSERT turning into an UPDATE if there is a conflict) can be achieved by adding <code>ON CONFLICT UPDATE</code> to the end of the INSERT | |||
* Only inserting if a value doesn't exist can be achieved by adding <code>ON CONFLICT DO NOTHING</code> to the end of the INSERT | |||
== Comparison with MySQL == | == Comparison with MySQL == | ||
Revision as of 09:43, 6 January 2022
Ubuntu installation
Install PostgreSQL and its contrib package:
sudo apt install postgresql postgresql-contrib
Create a new user (with the same username as your Linux login):
sudo -u postgres createuser --interactive
Create a database:
createdb my_test_db
Connect via psql:
psql -d my_test_db
Tips
- 'Upserting' (INSERT turning into an UPDATE if there is a conflict) can be achieved by adding
ON CONFLICT UPDATEto the end of the INSERT - Only inserting if a value doesn't exist can be achieved by adding
ON CONFLICT DO NOTHINGto the end of the INSERT
Comparison with MySQL
- Both default to using a socket for local connections on Unix hosts (instead of TCP/IP)
SHOW TABLESbecomes\dt(\dt+for additional info)DESCRIBE tblbecomes\d tbl(\d+ tblfor additional info)
Links
- Don't Do This - list of things not to do in PostgreSQL, with explanations.