PostgreSQL

来自Gea-Suan Lin's Wiki
Gslin讨论 | 贡献2021年11月12日 (五) 07:23的版本 →‎外部連結
跳到导航 跳到搜索

PostgreSQL是一套RDBMS

安装

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 update; sudo apt install -y postgresql; sudo apt clean

设定

刚装好的系统可以透过postgres这个账号权限连进去:

sudo -u postgres psql

PostgreSQL 14的设定档在/etc/postgresql/14/main下,通常会修改postgresql.conf将本来只听localhost的改成听所有界面:

listen_addresses = '*'

另外修改pg_hba.conf让外面可以连入,这边开放10.0.0.0/8可以连:

echo "host all all 10.0.0.0/8 scram-sha-256" | sudo tee -a /etc/postgresql/14/main/pg_hba.conf; sudo service postgresql restart

常用指令

建立账号与数据库,这边建立数据库的部分用两段式建立是为了闪开操作时的权限问题[1]

CREATE USER exampleuser WITH ENCRYPTED PASSWORD 'password';
CREATE DATABASE exampledb;
ALTER DATABASE exampledb OWNER TO exampleuser;

授权给其他使用者操作:

GRANT ALL PRIVILEGES ON DATABASE exampledb TO exampleuser;

超级使用者:

ALTER USER exampleuser WITH SUPERUSER;

管理

列出所有database_name下的schema,类似MySQL里的SHOW CREATE TABLE

pg_dump -d database_name -s -h hostname -U username

参考资料

外部链接