Difference between revisions of "PostgreSQL Cheat Sheet"
Jump to navigation
Jump to search
Line 14: | Line 14: | ||
postgres=# \du | postgres=# \du | ||
+ | |||
+ | '''Create New PostgreSQL User''' | ||
+ | |||
+ | postgres=# CREATE USER <user-name> with encrypted password '<password>';; | ||
'''Change or Reset PostgreSQL User Password''' | '''Change or Reset PostgreSQL User Password''' | ||
postgres=# ALTER USER <user-name> WITH PASSWORD '<new-password>'; | postgres=# ALTER USER <user-name> WITH PASSWORD '<new-password>'; | ||
+ | |||
+ | '''Grant Spesific Permission to All Tables for User''' | ||
+ | |||
+ | postgres=# GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; | ||
+ | postgres=# GRANT SELECT, INSERT ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; | ||
+ | postgres=# GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; | ||
+ | postgres=# GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; | ||
+ | |||
+ | '''Delete or Drop User from Database''' | ||
+ | |||
+ | postgres=# DROP USER IF EXISTS <user_name_1>, <user_name_2>, ..., <user_name_n>; | ||
+ | |||
+ | '''Delete or Drop User from Database If Some Object Depends on It''' | ||
+ | |||
+ | postgres=# REASSIGN OWNED BY <user-name> to postgres; # The query changes the object ownership to the postgres user. | ||
+ | postgres=# DROP OWNED BY <user-name>; | ||
+ | postgres=# DROP USER IF EXISTS <user-name>; | ||
+ | |||
+ | |||
'''Find PostgreSQL Active Connection''' | '''Find PostgreSQL Active Connection''' | ||
Line 44: | Line 67: | ||
postgres=# CREATE DATABASE <database_name>; | postgres=# CREATE DATABASE <database_name>; | ||
− | |||
− | |||
− | |||
− | |||
'''Delete or Drop Database''' | '''Delete or Drop Database''' |
Revision as of 16:54, 6 January 2023
List PostgreSQL Databases
postgres=# \l
List PostgreSQL Schemas
postgres=# \dn
List PostgreSQL Tables
postgres=# \dt
List PostgreSQL Users
postgres=# \du
Create New PostgreSQL User
postgres=# CREATE USER <user-name> with encrypted password '<password>';;
Change or Reset PostgreSQL User Password
postgres=# ALTER USER <user-name> WITH PASSWORD '<new-password>';
Grant Spesific Permission to All Tables for User
postgres=# GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; postgres=# GRANT SELECT, INSERT ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; postgres=# GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>; postgres=# GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA PUBLIC TO <user-name>;
Delete or Drop User from Database
postgres=# DROP USER IF EXISTS <user_name_1>, <user_name_2>, ..., <user_name_n>;
Delete or Drop User from Database If Some Object Depends on It
postgres=# REASSIGN OWNED BY <user-name> to postgres; # The query changes the object ownership to the postgres user. postgres=# DROP OWNED BY <user-name>; postgres=# DROP USER IF EXISTS <user-name>;
Find PostgreSQL Active Connection
postgres=# SELECT * FROM pg_stat_activity WHERE datname = '<database_name>';
Terminate All Active Connections in Database
postgres=# SELECT pg_terminate_backend (pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '<database_name>';
Check If The Server is Postgres Master or Slave
postgres=# SELECT pg_is_in_recovery();
If it's true, we're on a slave; if false, we're in master.
Find Postgresql Configuration Location
postgres=# SELECT name, source, sourcefile, sourceline, pending_restart FROM pg_settings;
Check Replication Slots
postgres=# SELECT * from pg_replication_slots;
Create New Database
postgres=# CREATE DATABASE <database_name>;
Delete or Drop Database
postgres=# DROP DATABASE IF EXISTS <database_name>;
Export PostgreSQL Database to Dump File
[root@gejoreuy ~]# pg_dump -U <username> -h <hostname> -p <port> <source_database_name> -f <dump_file_name>
Export PostgreSQL Database to Dump File with Password
[root@gejoreuy ~]# PGPASSWORD="password" pg_dump -U <username> -h <hostname> -p <port> <source_database_name> -f <dump_file_name>
Import PostgreSQL Database from Dump File
[root@gejoreuy ~]# psql -U <username> -h <hostname> -p <port> -d <destination_database_name> -f <dump_file_name>