Programming/PostgreSQL/Databases: Difference between revisions

From Dev Wiki
Jump to navigation Jump to search
(Add optional command flags)
(Update section to allow database privileges)
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
=== Show All Databases ===
=== Show All Databases ===
  \l
  \l
=== Show Currently Selected Database ===
SELECT current_database();


=== Create a New Database ===
=== Create a New Database ===
Line 18: Line 21:
=== Set Database Privileges ===
=== Set Database Privileges ===
  GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <user_name>;
  GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <user_name>;
On newer installations of Postgres, you may also need the following command for the user to properly create/modify tables:
# First, load the desired database:
\c <database_name>
# Then run command:
GRANT ALL ON SCHEMA public TO <user>;


== Database Backups ==
== Database Backups ==
=== Export Database to file ===
=== Export Database to file ===
  pg_dump -U <user_name> -d <database_name> <file_location>
  pg_dump -Fc -U <user_name> -d <database_name> > <file_location>


Optional Flags:
Optional Flags:

Latest revision as of 06:52, 4 April 2025

Note: Unless otherwise specified, all commands from this page assume you're in the PostgreSQL shell.

General Commands

Show All Databases

\l

Show Currently Selected Database

SELECT current_database();

Create a New Database

CREATE DATABASE <database_name>;

Load a Database

\c <database_name>

Delete a Database

Warn: Note that this action cannot be undone.
DROP DATABASE <database_name>;

Set Database Privileges

GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <user_name>;

On newer installations of Postgres, you may also need the following command for the user to properly create/modify tables:

# First, load the desired database:
\c <database_name>

# Then run command:
GRANT ALL ON SCHEMA public TO <user>;

Database Backups

Export Database to file

pg_dump -Fc -U <user_name> -d <database_name> > <file_location>

Optional Flags:

  • -h <host> - Allows specification of host, such as for connecting to a remote server.
  • -p <port> - Allows specification of port, such as for non-standard installations that don't use the default port 5432.

Import Database from File

pg_restore -U <user_name> -d <database_name> <file_location>

Optional Flags:

  • -h <host> - Allows specification of host, such as for connecting to a remote server.
  • -p <port> - Allows specification of port, such as for non-standard installations that don't use the default port 5432.