PostgreSql服务器的配置

2023-11-15

 

PostgreSQL最早是由UC Berkley大学计算机系开发的,当初由 Michael Stonebraker 教授领导的 Postgre 项目,是由高级防务研究项目局(Defense Advanced Research Projects Agency) (DARPA) , 陆军研究处 (ARO ), 国家科学基金会(National Science Foundation)(NSF),和 ESL 公司赞助进行的。它的许多先进的“对象-关系”概念现在已经在一些商业数据库里得到应用,PostgreSQL支持SQL92/SQL3,事务完整性和可扩展性。它现在是一个源于Berkley代码并公开源代码的数据库。 

 

Postgres 通过一种让用户可以很容易扩展系统的方法整合了下面四种基本概念,使其能提供可观的附加功能: 

 

类/表(classes) 

继承(inheritance) 

类型(types) 

函数(functions) 

 

其他特性还提供了附加的功能和灵活性: 

 

约束(constraints) 

触发器(triggers) 

规则(rules) 

事务完整(transaction integrity) 

 

这些特性将 Postgres置于对象-关系 (object-relational) 型数据库的范畴.尽管Postgres有一些面向对象的特性,它仍然属于关系型数据库的范畴, 事实上,一些商用数据库最近已经集成了一些Postgres 所领先的特性. 

 

1.对系统的要求: 

 

安装在RedHat Linux 6.0下测试通过。 

 

要用“root”用户进行安装。 

 

PostgreSQL的版本是7.0 

 

而且一定要先安装egcs-c++-1.1.2-24.i386.rpm软件包。 

 

尽管运行 PostgreSQL 的最小内存需求少到只有 8MB,如果我们把内存增加到96MB,可以看到显著的性能改善。 

 

检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节. 

 

检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节. 

 

在编译PostgreSQL之前。首先看一下“egcs-c++-1.1.2-24.i386.rpm”是不是已经安装。没有的话,那就赶紧装吧。“egcs-c++-1.1.2-24.i386.rpm”直接可从Redhat的光盘里获得,在“RedHat/RPMS”下。 

 

验证egcs-c++-1.1.2-24.i386.rpm是否安装,用命令: 

 

#rpm -qa|grep egcs 

 

安装egcs用: 

 

# rpm -Uvh egcs-c++-version.i386.rpm 

 

2.下载Postgresql源码包: 

 

Postgresql到本书发表为止已经推出了7.0.2的版本: 

 

由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装 

 

ftp://ftp.postgresql.org/pub/v7.0.2/postgresql-7.0.2.tar.gz 

 

3.安装Postgresql: 

 

由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装; 

 

1、解包: 

 

#tar xzvf postgresql-7.0.2.tar.gz 

#cd postgresql-7.0.2 

 

2、创建postgresql用户 

 

以 root,bin 或者其他有特殊权限的用户身份运行 PostgreSQL 存在安全问题,因而是不允许的。这是运行服务器的用户。用于生产时你可以创建一个独立的非特权的用户(常用 postgres) 

 

#useradd -M -o -r -d /var/lib/pgsql -s /bin/bash -c "PostgreSQL Server" -u 40 postgres 

 

修改好postgres用户的密码,以postgres用户登录系统; 

 

3、设置编译参数: 

 

$CC="egcs" 

 

进入解包后的postgresql源文件目录: 

$ ./configure 

configure不加任何选项,系统将按默认的设置安装postgresql,查看configre的相关选项可以使用:configure -help 

 

一些最常用的如下: 

 

--prefix=BASEDIR 

为安装 PostgreSQL 选择一个不同的基础路径。缺省是 /usr/local/pgsql。 

 

--enable-locale 

如果你想用本地化支持。 

 

--enable-multibyte 

允许使用多字节字符编码。这个选项主要用于象日语,韩语或中文这样的语言。 

 

--with-perl 

添加 Perl 模块接口。请注意 Perl 接口将安装到 Perl 模块的常用位置(典型的是在 /usr/lib/perl),所以要成功使用这个选项,你必须有 root 权限。 

 

--with-odbc 

制作 ODBC 驱动包. 

 

--with-tcl 

制作 Tcl/Tk 需要的接口库和程序,包括 libpgtcl,pgtclsh,和 pgtksh。 

 

这些编译参数告诉编译器如何编译PostgreSQL: 

 

4、编译源码: 

 

$make 

 

5、按照ocnfigure的配置按照程序: 

 

#su 

#make install 

 

在这里我们架设postgresql安装在默认的位置/usr/local/ 

 

6、配置共享库: 

 

告诉你的系统如何找到共享库。如何实现这些因平台而异。看起来可以在任何地方生效的方法是设置环境变量 LD_LIBRARY_PATH: 

# LD_LIBRARY_PATH=/usr/local/pgsql/lib 

# export LD_LIBRARY_PATH 

 

你可能把这些放到一个 shell 启动文件里,象 ~/.bash_profile。 

在一些系统里,下面的方法是最好的方法,但是你必须有 root 权限。编辑文件 /etc/ld.so.conf,增加一行 

 

/usr/local/pgsql/lib 

 

然后运行命令: 

 

#/sbin/ldconfig 

 

7、用postgres数据库超级用户完成数据库的安装: 

 

你必须用 PostgreSQL 超级用户帐号登录执行这一步。以 root 是不能进行这一步的; 

 

# mkdir /usr/local/pgsql/data 

# chown postgres /usr/local/pgsql/data 

#su postgres 

$ /usr/local/pgsql/initdb -D /usr/local/pgsql/data 

We are initializing the database system with username postgres (uid=40). 

This user will own all the files and must also own the server process. 

Creating Postgres database system directory /var/lib/pgsql/base 

Creating template database in /var/lib/pgsql/base/template1 

Creating global classes in /var/lib/pgsql/base 

Adding template1 database to pg_database... 

Vacuuming template1 

Creating public pg_user view 

Creating view pg_rules 

Creating view pg_views 

Creating view pg_tables 

Creating view pg_indexes 

Loading pg_des cription 

 

-D 选项声明数据存储的位置。你可以使用任何你想用的路径,它不必在安装目录里。在运行 initdb 前只要确保数据库超级用户帐户可以写(或者创建)那个目录就行了。 

 

8、启动postgresql服务; 

 

前面的步骤应该已经告诉你如何启动数据库服务器。现在就做。 

$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data 

这样将在前台启动数据库服务器。要把它放到后台,使用 -S。 

 

4.配置Postgresql的脚本文件 

 

配置“/etc/rc.d/ini.d/postgresql”脚本文件,用来启动和停止PostgreSQL服务器。 

 

创建“postgresql”脚本文件(touch /etc/rc.d/init.d/postgresql)并加入: 

 

#! /bin/sh 

# postgresql This is the init s cript for starting up the PostgreSQL 

# server 

# chkconfig: 345 85 15 

# des cription: Starts and stops the PostgreSQL backend daemon that handles 

# all database requests. 

# processname: postmaster 

# pidfile: /var/run/postmaster.pid 

# Source function library. 

. /etc/rc.d/init.d/functions 

# Get config. 

. /etc/sysconfig/network 

# Check that networking is up. 

# Pretty much need it for postmaster. 

[ ${NETWORKING} = "no" ] && exit 0 

[ -f /usr/bin/postmaster ] || exit 0 

# This s cript is slightly unusual in that the name of the daemon (postmaster) 

# is not the same as the name of the subsystem (postgresql) 

# See how we were called. 

case "$1" in 

start) 

echo -n "Checking postgresql installation: " 

# Check for the PGDATA structure 

if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d /var/lib/pgsql/base/template1 ] 

then 

# Check version of existing PGDATA 

if [ `cat /var/lib/pgsql/PG_VERSION` != 6.5 ] 

then 

echo "old version. Need to Upgrade." 

echo "See /usr/doc/postgresql-6.5.2/README.rpm for more information." 

exit 1 

else 

echo "looks good!" 

fi 

# No existing PGDATA! Initdb it. 

else 

echo "no database files found." 

if [ ! -d /var/lib/pgsql ] 

then 

mkdir -p /var/lib/pgsql 

chown postgres.postgres /var/lib/pgsql 

fi 

su -l postgres -c /usr/bin/initdb --pglib=/usr/lib/pgsql --pgdata=/var/lib/pgsql 

fi 

# Check for postmaster already running... 

pid=`pidof postmaster` 

if [ $pid ] 

then 

echo "Postmaster already running." 

else 

#all systems go -- remove any stale lock files 

rm -f /tmp/.s.PGSQL.* > /dev/null 

echo -n "Starting postgresql service: " 

su -l postgres -c /usr/bin/postmaster -i -S -D/var/lib/pgsql 

sleep 1 

pid=`pidof postmaster` 

if [ $pid ] 

then 

echo -n "postmaster [$pid]" 

touch /var/lock/subsys/postgresql 

echo $pid > /var/run/postmaster.pid 

echo 

else 

echo "failed." 

fi 

fi 

;; 

stop) 

echo -n "Stopping postgresql service: " 

killproc postmaster 

sleep 2 

rm -f /var/run/postmaster.pid 

rm -f /var/lock/subsys/postgresql 

echo 

;; 

status) 

status postmaster 

;; 

restart) 

$0 stop 

$0 start 

;; 

*) 

echo "Usage: postgresql {start|stop|status|restart}" 

exit 1 

esac 

exit 0 

 

现在让脚本可执行并设置它的缺省权限: 

 

[root@Aid]# chmod 700 /etc/rc.d/init.d/postgresql 

 

用下面命令创建“rc.d”目录下PostgresSQL的符号链接: 

 

[root@Aid]# chkconfig --add postgresql 

 

系统会在启动时自动把Postgresql后台进程启动,也可以通过 

 

/etc/rc.d/init.d/postgresql start|stop|restart 

 

进行人工控制; 

 

5.Postgresql数据库的用户管理和存取权限 

 

和Mysql不同的是,Postgresql的用户管理和权限控制,是截然不同的一套体制,有点类似于传统的关系数据库; 

 

在"pg_hba.conf"文件的PG_DATA段可以用ip地址和用户名限制对能数据库的连接,这里你可以指定什么样的IP地址能够连接数据库,什么样的IP地址是不允许使用数据库资源的; 

 

在数据库用户以及数据库方面postgresql用系统命令进行管理: 

 

createuser 允许声明可访问 Postgres的用户.destroyuser删除用户以及拒绝他们访问Postgres。 

 

这些命令只影响用户与 Postgres;而对用户的其他操作系统级的权限或状态没有影响 

 

用“createuser”命令在数据库中定义一个新超级用户: 

 

# su postgres 

$ createuser 

Enter name of user to add ---> admin 

Enter users postgres ID or RETURN to use unix user ID: 500 -> 

Is user "admin" allowed to create databases (y/n) y 

Is user "admin" a superuser? (y/n) y 

createuser: admin was successfully added 

 

用“destroyuser”命令在数据库中删除用户: 

 

# su postgres 

$ destroyuser 

Enter name of user to delete ---> admin 

destroyuser: delete of user admin was successful. 

 

用“createdb”命令创建新的数据库: 

 

# su postgres 

$ createdb dbname 

 

用“destorydb”命令删除数据库: 

# su postgres 

$ destorydb dbname 

 

6 使用psql操作postgresql数据库 

 

postgresql和mysql一样拥有一套独立的客户端程序,使用标准的SQL语句对数据库进行操作和管理; 

 

$psql databasename 

Welcome to the POSTGRESQL interactive sql monitor: 

Please read the file COPYRIGHT for copyright terms of POSTGRESQL 

[PostgreSQL 6.5.3 on i686-pc-linux-gnu, compiled by egcs ] 

type ? for help on slash commands 

type q to quit 

type g or terminate with semicolon to execute query 

You are currently connected to the database: databasename 

 

告诉用户已经连接到数据库databasename 

 

7.postgresql数据库的备份 

 

Postgres 提供两个工具备份你的系统:pg_dump 备份独立的数据库以及 pg_dumpall 在一个步骤里备份你的数据库节点。 

 

可以用下面的命令备份一个独立的数据库: 

 

$ pg_dump dbname > dbname.pgdump 

 

然后可以用下面命令恢复 

 

$cat dbname.pgdump | psql dbname 

 

这个技巧可以用于把数据库移动到一个新位置,然后重新命名现有数据库。 

 

Postgres 允许表的尺寸大于你的系统的最大文件尺寸,可能把表输出到一个文件会有问题,生成的文件很可能比你的系统允许的最大文件大。 

 

使用压缩的输出格式: 

 

$ pg_dump dbname | gzip > filename.dump.gz 

 

重载: 

 

$ createdb dbname 

$ gunzip -c filename.dump.gz | psql dbname 

 

或 

 

$ cat filename.dump.gz | gunzip | psql dbname 

 

使用分割(split): 

 

$ pg_dump dbname | split -b 1m - filename.dump. 

 

重载: 

 

$createdb dbname 

$ cat filename.dump.* | pgsql dbname 

 

当然,文件名(filename)和 pg_dump 输出的内容不必与数据库名一样。同样,重载的数据库可以有任意新的名称,所以这个机制还适用于给数据库改名。 

 

PostgreSQL已经是不利新闻的一个牺牲品,被列为一个学术的玩物,为真实世界使用太复杂。在过去这可能是对的,然而不再是。它有一个远远超过其他进展缓慢的数据库甚至一些企业数据库的功能集,然而, 它缺乏用来衡量达到高价产品的很多管理特征和调节能力,这些特征是数据库决不会一般水平的数据库所要求的,并且甚至他们不会注意到这很少的缺点。PostgreSQL在Unix数据库竞技场成为了一个真正的竞争者。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSql服务器的配置 的相关文章

  • Linux shell 根据第二列对文件进行排序?

    我有一个这样的文件 FirstName FamilyName Address PhoneNumber 如何按 FamilyName 排序 如果这是 UNIX sort k 2 file txt 您可以使用多个 k用于对多列进行排序的标志 例
  • 内核驱动程序从用户空间读取正常,但写回始终为 0

    因此 我正在努力完成内核驱动程序编程 目前我正在尝试在应用程序和内核驱动程序之间构建简单的数据传输 我使用简单的字符设备作为这两者之间的链接 并且我已成功将数据传输到驱动程序 但我无法将有意义的数据返回到用户空间 内核驱动程序如下所示 in
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • Xvfb 冻结初始化 GLX 扩展

    我正在尝试运行无头 Xvfb 服务器来捕获 Amazon EC2 micro 上的屏幕截图 但它在 GLX 上陷入了困境 我使用此脚本安装了 GLX Xvfb 和所有库 https gist github com joekiller 414
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • Linux 内核使用的设备树文件 (dtb) 可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以图形化表示Linux内核中使用的硬件设备树的工具 我正在尝试了解特定 Arm 芯片组
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终

随机推荐

  • 对Redux中间件的理解?常用的中间件有哪些?实现原理?

    一 是什么 中间件 Middleware 是介于应用系统和系统软件之间的一类软件 它使用系统软件所提供的基础服务 功能 衔接网络上应用系统的各个部分或不同的应用 能够达到资源共享 功能共享的目的 二 常用的中间件 有很多redux中间件 如
  • 第4章 点云的滤波与分类 4.1点云数据的过滤

    C4 Filtering and Classification of Point Clouds 第4章 点云的滤波与分类 05 25 06 01点云数据的过滤 4 1Filtering of point cloud data 4 1 1课堂
  • Python3,好看的外(shen)表(cai)千篇一律,炫彩的日志万里挑一。

    炫彩日志输出 1 引言 2 代码实战 2 1 库介绍 2 2 库安装 2 3 代码示例 2 3 1 demo 2 3 2 实战 3 总结 1 引言 小屌丝 鱼哥 我今天被炫到了 小鱼 怎么了 你还能被旋到了 小屌丝对啊 被炫到了 很不是滋味
  • [PyTorch][chapter 34][池化层与采样]

    前言 这里主要讲解一下卷积神经网络中的池化层与采样 目录 DownSample Max pooling avg pooling upsample ReLu 1 DownSample 下采样 间隔一定行或者列进行采样 达到降维效果 早期LeN
  • 七日杀unity报错_七日杀游戏闪退及各种游戏报错解决攻略全解

    七日杀是一款人称的丧尸生存类游戏 现在有非常多的游戏都是丧尸生存题材的 但是要找到比较精品的游戏 我还是推荐大家玩这款 这里跟大家分享一下七日杀游戏闪退及各种游戏报错解决攻略全解 大家如果有遇到问题可以来这里寻找答案 一 游戏崩溃 暂无解决
  • Docker中elasticsearch的安装

    Docker中elasticsearch的安装 相关安装资料链接 链接 https pan baidu com s 1mnf4MH49myglW lvPzm2ew 提取码 h97u 安装elasticsearch 1 下载镜像 docker
  • SpringBoot整合ShardingJdbc实现XA分布式事务

    SpringBoot整合ShardingJdbc实现XA分布式事务 什么是分布式事务 关于分布式事务的介绍 请参考ShardingJdbc的介绍 分布式事务 官方文档分布式事务使用示例 使用示例 点进去之后 拉到最下面即可看到 官方exam
  • synchronized底层源码

    一 synchronized的使用场景 synchronized一般使用在下面这几种场景 修饰代码块 指定一个加锁的对象 给对象加锁 public Demo1 Object lock new Object public void test1
  • IDEA GIT工具窗口中 点击提交记录无法查看提交文件的解决

    问题描述 点击提交记录 想要看到提交的文件 期待效果 问题解决 将如图所示的分隔线下拉即可 原因是视图覆盖了 附加一个IDEA工具的技巧 如果工具窗口中没有git 或者 不小心把 git 右键 Remove From Sidebar 了 可
  • TCP/IP详解 卷1:协议 学习笔记 第十五章 TFTP:简单文件传送协议

    TFTP最初打算用于引导无盘系统 通常是工作站或X终端 为保持简单和短小 TFTP使用UDP 它适合只读存储器 开始工作时 TFTP的客户与服务器交换信息 客户发送一个读或写请求给服务器 在一个无盘系统进行引导的正常情况下 第一个请求是读请
  • Qtp自动测试工具

    简介 QTP是Quick Test Professional的简称 是一种自动测试工具 使用QTP的目的是想用它来执行重复的自动化测试 主要是用于回归测试和测试同一软件的新版本 因此你在测试前要考虑好如何对应用程序进行测试 例如要测试哪些功
  • vue路由跳转及其ajax请求,Vue中的路由以及ajax

    Vue请求ajax之fetch 使用方法 fetch url headers token localStorage getItem token content type apllication xxx urlencoded methods
  • AD20/Altium designer——如何对元器件进行批量命名、一键编号

    本文将介绍如何对元器件进行命名 节省项目时间 Let s go 1 选中要一键命名的元器件 选中方法有 Ctrl A全选 鼠标左键长按后框选 Shift长按 鼠标左键单击 2 依次点开 工具 标注 原理图标注 3 按需设置 4 按图操作 5
  • 几种前后端接口的对比:RESTful,GraphQL,APIJSON

    转载地址https blog csdn net kikajack article details 79075405 REST 和 GraphQL 的对比 APIJSON 和 GraphQL 的对比 REST 核心理念是资源 服务端定义资源形
  • 惊了!7 行代码优雅地实现 Excel 文件导出功能?

    点击蓝色 小哈学Java 关注我哟 加个 星标 第一时间获取小哈推送的文章哦 目录 一 前言 二 Apache poi jxl 的缺陷 三 阿里出品的 EasyExcel 安利一波 四 EasyExcel 解决了什么 五 快速上手 六 特殊
  • JavaScript三大组成部分

    总所周知 JavaScript是一种专为网页交互而设计的一种脚本语言 有下列三种不同的组成部分 1 ECMAScript 由ECMA 262定义 规定了一种脚本语言实现应该包含的内容 提供核心语言功能 2 文档对象模型 DOM 提供访问和操
  • 若依前后端分离版项目名称的修改

    若依前后端分离项目名修改 在自主学习若依项目的时候 想着能不能把项目的名称改成自己的项目名然后再进行开发 在网上找了些资料但是都不全面 总有些漏掉的步骤导致项目启动失败 经过不断的倒腾 也发现了问题所在 直接上图记录吧 去若依官网下载前后端
  • python12 函数进阶

    python 12 函数进阶 1 函数返回值 1 1 函数返回值 什么是函数返回值 返回就是从函数内部传递到函数外部的数据 python中的每个函数都有可以传递一个数据到函数的外部 如何确定一个函数的返回值 怎么在函数的内部传递到函数的外部
  • 【若依】开源框架学习笔记05 - 角色权限

    文章目录 一 概述 二 功能实现 1 使用方式 2 Spring Security 配置 3 权限处理逻辑 一 概述 本文主要整理了若依框架中角色权限 即菜单权限 的功能实现 页面功能位于 系统管理 gt 角色管理 gt 修改 角色权限一般
  • PostgreSql服务器的配置

    PostgreSQL最早是由UC Berkley大学计算机系开发的 当初由 Michael Stonebraker 教授领导的 Postgre 项目 是由高级防务研究项目局 Defense Advanced Research Project