当前位置: 首页 > news >正文

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. 创建用户和数据库

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

    或者直接创建用户

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

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

    ALTER DATABASE Y OWNER TO X;
    

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

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

    • 连接到 PostgreSQL 数据库:
      sudo -u postgres psql your_database_name
      
    • 在 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. 查询数据库

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

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

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

http://www.lryc.cn/news/435290.html

相关文章:

  • sqlalchemy FastAPI 前端实现数据库增删改查
  • QQueue调用dequeue闪退解决方法
  • CSP-J算法基础 计数排序
  • Java泛型类型解析
  • EasyExcel 学习之 导出 “类型及精度问题”
  • 从视频中每隔10帧截取一帧并保存为图片
  • 防火墙、firewalld指令、更改yum源为阿里云的yum源及常见问题
  • 5G Multicast/Broadcast Services(MBS) (二) Multicast
  • 【计算机方向】中科院二区潜力刊!最快14天accept,还是非OA ,不能错过!
  • 合适做项目交付的物联网平台:ThingsKit
  • python绘制3D瀑布图
  • ArcGIS中怎么合并多个点图层并删除重复点?
  • 【vue、UI】使用 Vue2 和 Element UI 封装 CSV 文件上传组件,实现csv回显
  • erlang学习: Mnesia Erlang数据库2
  • 电脑文件怎么备份?推荐6个高效便捷的文件备份的方法
  • Procdump抓ToDesk密码
  • ESP8266下载固件→连接阿里云
  • 20240911软考架构-------软考156-160答案解析
  • 工厂模式与策略模式(golang示例)
  • 批量视频如何做成一个二维码(分步骤教程)
  • OpengGL教程(三)---使用VAO和VBO方式绘制三角形
  • 【单片机开发】单片机常用开发工具
  • 一、计算机网络的体系结构
  • C语言补习课——文件篇
  • 【可测试性实践】C++ 单元测试代码覆盖率统计入门
  • C++笔记---list
  • JavaWeb开发中为什么Controller里面的方法是@RequestMapping?
  • 若依移动版使用微信小程序打开失败
  • 精准控图工具 Concept Sliders:超好用的 控制 Lora 适配器
  • 【EI会议征稿通知】第四届材料工程与应用力学国际学术会议(ICMEAAE 2025)