数据库目录命令

-- 查看 PostgreSQL 数据库目录的实际路径
postgres@user-virtual-machine:~$ psql -U postgres -c "SHOW data_directory;"
 data_directory 
----------------
 /data/pg_data
(1 row)

-- 以下命令创建一个新的集群目录   
initdb -D /path/to/new/database/directory

-- 远程归档目录
archive_command = 'ssh 192.168.19.91 test ! -f /home/user/archivedir/%f && scp %p 192.168.19.91:/home/user/archivedir/%f'

-- 本地归档目录
archive_command = 'test ! -f /path/to/archive/%f && cp %p /path/to/archive/%f'

-- 恢复日志目录
restore_command = 'cp /var/lib/pgsql/12/archive0510/%f %p'

数据库启动关闭命令

-- 启动 PostgreSQL 数据库的命令
-D /home/postgres/pgsql/data:指定 PostgreSQL 数据库目录的路径。这个目录包含了 PostgreSQL 数据库的所有数据文件和配置文件。(配置文件路径)
-l /home/postgres/pgsql/logs/pgsql.log:指定日志文件的路径和文件名。所有 PostgreSQL 数据库的日志信息将写入这个文件。
./bin/pg_ctl -D /data/pg_data -l /var/log/postgresql/postgresql-12-main.log start

-- 关闭 PostgreSQL 数据库的命令
./bin/pg_ctl -D /home/postgres/pgsql/data stop

-- 登录 PostgreSQL 数据库
./psql
-- 开始备份  
psql -c "SELECT pg_start_backup('base', true)"
-- 结束备份
psql -c "SELECT pg_stop_backup()"

数据库命令

\q  -- 退出数据库
\l  -- 列出当前所有的数据库
\d  -- 列出表
\dv  -- 列出视图
\du  -- 显示所有用户及其具体信息
\h  -- 查看pgsql所有函数 
\d tablename  -- 显示表结构,字段注释
\c mydatabase  -- 切换数据库

CREATE DATABASE mydatabase;  -- 创建数据库
CREATE USER username WITH PASSWORD 'new_password';  -- 创建数据库用户
ALTER USER username WITH PASSWORD 'new_password';  -- 修改数据库用户密码
grant all privileges on database dbname to username;  -- 将数据库授权给用户

SELECT current_database();  -- 当前所在的数据库
SELECT current_user;  -- 当前登录用户
SELECT usename FROM pg_user;  -- 检索所有用户的用户名
SELECT version();  -- 查看数据库版本
select pg_switch_wal();  -- 手动切换WAL文件