Ubuntu 安装PostgreSQL
1. 安装 PostgreSQL 包[*]使用 apt-get 下令安装 PostgreSQL 客户端和服务器包:
sudo apt update
sudo apt install postgresql postgresql-client
2. 启动 PostgreSQL 服务
[*]在 Ubuntu 中,PostgreSQL 服务默认会自动启动。
[*]你可以使用以下下令来启动服务:
sudo systemctl start postgresql
[*]设置 PostgreSQL 服务开机自启:
sudo systemctl enable postgresql
3. 配置 PostgreSQL
[*]在 Ubuntu 中,PostgreSQL 的配置文件通常位于 /etc/postgresql/{version}/main/
4. 创建新用户X
[*]以PostgreSQL 超级用户登录psql
#登录psql
sudo -u postgres psql
[*]在psql下令行界面里,创建新用户X
[*]root 用户在 PostgreSQL 中通常已经存在
[*]你可能需要使用其他用户名
CREATE ROLE X LOGIN;
[*]大概直接一步到位:创建用户
sudo -u postgres createuser --username postgres X
5. 创建新数据库Y
[*]在 psql 下令行界面中,使用 CREATE DATABASE 下令创建新的数据库。
[*]例如,如果你想创建名为 Y 的数据库,可以执行以下下令:CREATE DATABASE Y;
[*]在psql下令行界面中,授权给特定用户
[*]例如,你可以将数据库 Y 的所有者设置为新用户X:ALTER DATABASE Y OWNER TO X;
[*]大概一步到位:你可以在创建数据库时直接指定所有者:
CREATE DATABASE Y OWNER X;
6. 创建数据库Y的表incoming_test schema=public
[*]用新用户X登录PostgreSQL 数据库Y:
sudo -u X psql Y # -h localhost -p 5432 -w ; -w指无密码登录
[*]在psql 下令行界面中创建表:
CREATE TABLE incoming_test (
recorded_on TIMESTAMP WITH TIME ZONE NOT NULL,
"Accounting-Record-Type" INTEGER,
"Session-Id" BYTEA,
"Accounting-Record-Number" INTEGER,
"Route-Record1" BYTEA,
"Route-Record2" BYTEA,
"Route-Record3" BYTEA,
"Route-Record4" BYTEA
);
[*]退出 psql
\q
6.1 psql登录失败的处置惩罚
[*]修改 /etc/postgresql/XX/main/pg_hba.conf文件
[*]将local all all peer -> local all all trust
[*]重启postgresql服务
6.2 psql api登录失败的处置惩罚
[*]修改 /etc/postgresql/XX/main/pg_hba.conf文件
[*]将host all all 127.0.0.1/32 peer -> host all all 127.0.0.1/32 trust
[*]重启postgresql服务
7. 查询数据库Y
[*]使用新用户X登录数据库Y
[*]检察数据库:执行下令 \l
[*]效果雷同mysql的show databases;
[*]选择数据库:执行下令 \c database
[*]效果雷同mysql的use database;
[*]检察该数据库的表:执行下令 \dt
[*]效果雷同mysql的show tables;
[*]查询该数据库的表:与mysql一致的select语句
[*]postgres 检察全部数据库
[*]查询的字段较多,可用直接回车换行连续输入,达到折叠的效果
8.删除数据库Y的incoming_test表
[*]毗连psql数据库
[*]切换到指定的数据库:\c dbname
[*]删除该表: drop table if exists incoming_test;
[*]\dt \dt+等为psql元下令,不必以;结束
[*]其他sql,如mysql那样,必须;结束
9.删除数据库Y
[*]登录到 PostgreSQL
sudo -u X psql #若失败,可用postgres超级用户登录
[*]删除数据库
DROP DATABASE IF EXISTS Y;
[*]退出 psql
\q
10. 删除用户X
[*]登录到 PostgreSQL
sudo -u postgres psql
[*]删除用户X
DROP ROLE IF EXISTS X;
[*]退出 psql
\q
11.完全卸载 PostgreSQL
[*]制止 PostgreSQL 服务
sudo systemctl stop postgresql
[*]卸载 PostgreSQL 包
sudo apt remove --purge postgresql postgresql-contrib
[*]删除 PostgreSQL 数据文件**: 慎重 可跳过
sudo rm -rf /var/lib/postgresql/*
[*]清理残留文件
sudo apt autoremove
sudo apt clean
10.1 想规复PostgreSQL 数据目录
# 重建目录
sudo mkdir -p /var/lib/postgresql/XX/main
# 更改权限
sudo chown -R postgres:postgres /var/lib/postgresql/XX/main
# 重建数据库存储目录
sudo -u postgres /usr/lib/postgresql/XX/bin/initdb -D /var/lib/postgresql/XX/main
# 之后能解决该目录异常为空,postgresql没有真正运行的问题
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]