Ubuntu 安装PostgreSQL

  1. 安装 PostgreSQL 包

    • 使用 apt-get 命令安装 PostgreSQL 客户端和服务器包:

      sh 复制代码
      sudo apt update
      sudo apt install postgresql postgresql-client
  2. 启动 PostgreSQL 服务

    • 在 Ubuntu 中,PostgreSQL 服务默认会自动启动。你可以使用以下命令来启动服务:

      sh 复制代码
      sudo systemctl start postgresql
    • 设置 PostgreSQL 服务开机自启:

      sh 复制代码
      sudo systemctl enable postgresql
  3. 配置 PostgreSQL

    • 在 Ubuntu 中,PostgreSQL 的配置文件通常位于 /etc/postgresql/{version}/main/ 目录下。
  4. 创建用户和数据库

    • 切换到 PostgreSQL 用户
      通常,PostgreSQL 服务以 postgres 系统用户运行。你需要切换到这个用户来执行数据库创建操作:
    sh 复制代码
    sudo -u postgres psql

    或者直接创建用户

    sh 复制代码
    sudo -u postgres createuser --username postgres X
    • 创建数据库
      psql 命令行界面中,使用 CREATE DATABASE 命令创建新的数据库。例如,如果你想创建名为 Y 的数据库,可以执行以下命令:
    sql 复制代码
    CREATE DATABASE Y;
    • 授权给特定用户
      如果你想让操作系统用户 X 能够访问或拥有数据库 Y,你需要确保 X 有一个对应的 PostgreSQL 角色,并且给予相应的权限。首先,你需要创建一个角色(如果尚未创建):
    sql 复制代码
    CREATE ROLE X LOGIN;

    然后,你可以将这个角色设置为数据库 Y 的所有者:

    sql 复制代码
    ALTER DATABASE Y OWNER TO X;

    或者,你可以在创建数据库时直接指定所有者:

    sql 复制代码
    CREATE DATABASE Y OWNER X;
    • 退出 psql
      完成创建数据库后,使用以下命令退出 psql 命令行界面:
    sql 复制代码
    \q
  5. 创建表

    • 连接到 PostgreSQL 数据库:

      sh 复制代码
      sudo -u postgres psql your_database_name
    • 在 psql 命令行中创建表:

      sql 复制代码
      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:

      sql 复制代码
      \q
  6. 查询数据库

  • 查看数据库:执行命令 \l #效果类似mysql的show databases;
  • 选择数据库:执行命令 \c database #效果类似mysql的use database;
  • 查询该数据库的表:与mysql一致的select语句
  • postgres 查看全部数据库

请注意,上述命令中的 your_usernameyour_database_name 需要替换为你自己的用户名和数据库名。另外,root 用户在 PostgreSQL 中通常已经存在,你可能需要使用其他用户名。

在执行这些操作时,确保你有足够的权限,通常需要 sudo 来获取超级用户权限。如果你在执行过程中遇到任何问题,可以参考 PostgreSQL 的官方文档或查看 PostgreSQL 的日志文件来获取更多信息。

相关推荐
木子Linux13 分钟前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.82419 分钟前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
鹏大师运维21 分钟前
聊聊开源的虚拟化平台--PVE
linux·开源·虚拟化·虚拟机·pve·存储·nfs
watermelonoops28 分钟前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
滴水之功1 小时前
VMware OpenWrt怎么桥接模式联网
linux·openwrt
ldinvicible2 小时前
How to run Flutter on an Embedded Device
linux
YRr YRr2 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
认真学习的小雅兰.2 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥3 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
程序员学习随笔3 小时前
PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
数据库·postgresql