Postgresql基础:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
第19行: 第19行:


  /usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start
  /usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start
  # 仅仅把原目录移过来是不够的,还需要 hba_file(/etc/postgresql/15/main/pg_hba.conf)、pg配置文件(/etc/postgresql/15/main/postgresql.conf)等
  # 此方式适合新建 DB。
  # 尽量不要使用这种方式,除非是同一台机器启动多个DB
  # 尽量不要使用这种方式,除非是同一台机器启动多个DB。(可以用上面的将原 DB 目录移至新路径并修改配置文件方式)


=== DBA ===
=== DBA ===
第31行: 第31行:
  /usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start
  /usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start


==== 查看数据库文件目录 ====
==== 查看数据库信息 ====
文件目录
  show data_directory;
  show data_directory;
 
查看数据库版本
==== 查看数据库版本 ====
  show server_version;
  show server_version;
  select version();
  select version();

2023年8月31日 (四) 20:07的版本

PostgreSQL is available in all Ubuntu versions by default.

Install

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql

安装完毕后,系统会创建一个数据库超级用户 postgres,密码为空。

将原 DB 目录移至新路径

1. 修改 pg 配置文件(/etc/postgresql/15/main/postgresql.conf) 中 data_directory
2. mv PGDB_OLD /u01/pgdb/db/

使用新 DB 目录

mkdir -p /u01/pgdb
chown -R postgres:postgres /u01/pgdb
/usr/lib/postgresql/15/bin/initdb /u01/pgdb
/usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start
# 此方式适合新建 DB。
# 尽量不要使用这种方式,除非是同一台机器启动多个DB。(可以用上面的将原 DB 目录移至新路径并修改配置文件方式)

DBA

Start

# 需要 root 权限
/etc/init.d/postgresql start | stop | restart
systemctl start | stop | restart | status postgresql
# 指定DB目录
/usr/lib/postgresql/15/bin/pg_ctl -D /u01/pgdb -l logfile start

查看数据库信息

文件目录

show data_directory;

查看数据库版本

show server_version;
select version();
psql --version

执行SQL

psql -c "$SQL"

show databases

\l
select * from pg_database;
# connect databases
\c postgres

show tables

\dt
\dt+           # 表类型、大小

user

# 修改密码
alter user postgres password 'PASSWD';