如何设计一个有趣的网页,江门网站优化经验,苏州网站的建设,小挑可以做网站吗环境#xff1a; Centos7安装PostgreSQL_14版本数据库#xff1b; 打开官方网站#xff1a;PostgreSQL: Linux downloads (Red Hat family) 一、 版本选择 复制、粘贴并运行如下脚本#xff1a; 二、安装步骤
这些命令是在 CentOS 7.x 系统上安装和配置 PostgreSQL 14 的步… 环境 Centos7安装PostgreSQL_14版本数据库 打开官方网站PostgreSQL: Linux downloads (Red Hat family) 一、 版本选择 复制、粘贴并运行如下脚本 二、安装步骤
这些命令是在 CentOS 7.x 系统上安装和配置 PostgreSQL 14 的步骤
①这个命令将下载并安装 PostgreSQL 官方的 YUM 存储库以便从中获取 PostgreSQL 相关的软件包。
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ② 这个命令用于安装 PostgreSQL 14 服务器软件包。它会自动解决依赖关系并安装必要的组件。
sudo yum install -y postgresql14-server ③这个命令将初始化 PostgreSQL 14 数据库集群。它会创建数据库和相关的文件结构并设置默认的用户和权限等信息。
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb ④这个命令将设置 PostgreSQL 14 在系统启动时自动启动。这样在系统重启后PostgreSQL 14 将自动启动。
sudo systemctl enable postgresql-14
⑤这个命令将启动 PostgreSQL 14 服务器。你可以使用这个命令来手动启动 PostgreSQL 14或者使用其他相应的命令如 stop、restart来控制 PostgreSQL 14 服务器的运行状态。
sudo systemctl start postgresql-14
⑥验证 PostgreSQL 14 是否成功安装和运行这个命令会显示 PostgreSQL 14 服务器的状态信息。如果服务器正在运行你将看到类似 active (running) 的输出。
sudo systemctl status postgresql-14提示 在虚拟机的 CentOS 7 中可以使用以下方法将命令从主机系统粘贴到虚拟机中 1. 使用终端工具打开虚拟机中的终端如 GNOME 终端、Konsole 等右键单击并选择 Paste 或按下 CtrlShiftV 键盘快捷键来粘贴命令。2. 使用 SSH 连接如果你是通过 SSH 连接到虚拟机你可以在 SSH 客户端中直接使用命令行复制和粘贴的功能。例如使用 PuTTY 或 OpenSSH 连接到虚拟机在 SSH 客户端的窗口中右键单击即可粘贴命令。3. 使用共享剪贴板某些虚拟化软件如 VirtualBox、VMware提供了共享剪贴板功能允许你在主机和虚拟机之间共享剪贴板内容。确保在虚拟化软件的设置中启用了此功能并使用相应的快捷键将命令从主机粘贴到虚拟机中。 无论选择哪种方法请确保在粘贴命令之前终端处于准备接收输入的状态例如等待命令提示符。这样粘贴的命令才能正确执行。 请记住在虚拟机中运行命令时要谨慎确保你理解命令的作用及其对系统的影响。 同时也可以使用 Xshell 连接到 CentOS 7 的虚拟机并在其中安装和配置 PostgreSQL 14。 三、切换用户
切换到postgres用户
su - postgres-bash-4.2$ psql这个命令是用于启动 PostgreSQL 的交互式命令行工具可以与 PostgreSQL 数据库进行交互和执行 SQL 查询。
输入 psql
-bash-4.2$ psql正常情况下当运行 psql 命令时它会连接到本地默认的 PostgreSQL 服务器并进入一个新的交互式会话。 如果你已经成功安装和配置了 PostgreSQL并且正在使用默认的设置那么你应该能够看到如下所示的输出 在提示符 postgres# 下可以输入 SQL 命令、执行查询和管理数据库等操作。
修改系统用户密码
ALTER USER postgres WITH PASSWORD postgres;如果要从 psql 终端退出有几种方法可以尝试 1. 使用键盘组合键按下 Ctrl D 或输入 \q 然后按下回车键。这将关闭 psql 终端并退出到原始命令行提示符。 2. 使用 SQL 命令在 psql 终端中输入 \q 并按下回车键即可退出。 3. 使用系统终端命令如果你发现无法使用 psql 终端的键盘组合键或命令可以尝试以下操作 ① - 按下 Ctrl C 中断当前操作如果有。 ② - 输入 \! 并按下回车键以使 psql 终端进入外壳模式。 ③- 在外壳模式下输入 exit 或 logout 并按下回车键来退出 psql 终端。 ④- 如果以上方法仍然不起作用可以直接关闭终端窗口或使用操作系统提供的其他方法来结束 psql 终端。 四、修改配置
要修改配置文件需要以具有足够权限的用户身份执行操作。在 CentOS 7 上默认情况下PostgreSQL 数据库的数据目录的所有者和组都是 postgres 用户。因此需要使用 root 或具有适当权限的用户登录到系统并以 postgres 用户的身份来编辑 postgresql.conf 文件。
4.1.修改postgresql.conf
postgresql.conf 是 PostgreSQL 数据库的主要配置文件其中包含许多不同的配置选项。以下是一些常见的 postgresql.conf 配置选项及其功能的示例
1. listen_addresses指定 PostgreSQL 服务器监听的 IP 地址。默认情况下它设置为 localhost仅允许本地连接。你可以将其修改为适当的 IP 地址以允许远程连接。2. port指定 PostgreSQL 服务器监听的端口号。默认值为 5432通常无需更改。如果需要使用其他端口请在此处进行修改。3. max_connections指定 PostgreSQL 允许的最大并发连接数。默认值为 100。根据系统资源和需求你可以增加或减少此值。4. shared_buffers指定用于缓存数据页的共享内存大小。默认值取决于系统但通常为 128MB。根据系统资源和工作负载可以调整此值以提高性能。5. work_mem指定每个排序操作或哈希表的内存量。默认值为 4MB。根据查询的复杂性和系统资源你可以增加或减少此值。6. effective_cache_size指定 PostgreSQL 估计系统可用的磁盘缓存大小。默认值为空表示自动检测。你可以手动设置此值以更好地优化查询性能。7. log_timezone 和 timezone分别指定日志记录时使用的时区和数据库服务器的时区。8. logging_collector启用或禁用日志收集器。当启用时PostgreSQL 将日志信息写入到日志文件中便于故障排除和监视。
这里只是 postgresql.conf 中的一小部分配置选项示例。该文件还包含其他许多选项用于配置各种数据库行为、性能参数、安全性选项等。 注意 对于任何更改你都应该谨慎并确保了解其影响和可能的后果。在修改 postgresql.conf 之前建议先备份原始配置文件并参考 PostgreSQL 的官方文档以获取更详细的说明和指导。 4.1.1操作步骤
①以 root 用户登录到虚拟机或系统中。
②切换到 postgres 用户运行以下命令
su - postgres③进入 PostgreSQL 数据目录运行以下命令
cd /var/lib/pgsql/14/data/④使用 vim 编辑器打开 postgresql.conf 文件运行以下命令
vim postgresql.conf⑤在 Vim 编辑器中按下 i 进入插入模式对文件进行修改。
⑥完成修改后按下 Esc 键退出插入模式。
⑦输入 :wq 并按下回车键保存修改并退出 Vim 编辑器。
通过以上步骤你将使用 postgres 用户的身份编辑 postgresql.conf 文件并确保保存了你的修改。请注意这是一种常见的方法但如果你的设置和权限不同可能会有所变化。根据你的环境和配置你可能需要相应地调整上述步骤。 提示 如果在你的系统上未找到 vim 命令可能是因为你的系统中没有安装 Vim 编辑器。在 CentOS 7 上默认情况下vim 命令未预装。 假如你的vim 命令未安装可以尝试以下方法来编辑 postgresql.conf 文件
①使用其他文本编辑器
尝试使用其他可用的文本编辑器如 nano 或 vi。这些编辑器通常在大多数 Linux 发行版中都预装了。你可以尝试运行以下命令
nano /var/lib/pgsql/14/data/postgresql.conf
或
vi /var/lib/pgsql/14/data/postgresql.conf这样就可以 nano 或 vi 编辑器打开 postgresql.conf 文件。
②安装 Vim 编辑器
如果你希望使用 Vim 编辑器你可以尝试安装它。在 CentOS 7 上你可以使用以下命令进行安装
sudo yum install vim-enhanced最后安装完成
安装完成后你可以再次尝试使用 vim 命令打开 postgresql.conf 文件。
开启远程访问将listen_address 修改为 * 端口号可改可不改 将 PostgreSQL 的 listen_address 配置修改为 * 意味着服务器将监听所有可用的网络接口IP 地址。这样配置可以使 PostgreSQL 服务器对来自任何网络接口的连接请求进行处理。
通常情况下PostgreSQL 的 listen_address 默认设置为 localhost 或 127.0.0.1只允许本地连接。这是出于安全性考虑以防止未经授权的远程连接。但如果你希望从外部网络连接到 PostgreSQL 服务器就需要将 listen_address 修改为 *以允许任意 IP 地址的连接请求。 注意 将 listen_address 设置为 * 可能会增加一些安全风险因为它打开了服务器对所有网络接口的监听。建议仅在必要时才采取此操作并确保采取适当的安全措施例如使用防火墙、限制访问和强密码等。 在更改 listen_address 配置之前请务必评估潜在的安全影响并确保已经实施了适当的安全措施来保护 PostgreSQL 服务器和数据。 如果你在编辑 postgresql.conf 文件时找不到 listen_address 配置选项这可能是因为实际配置文件中没有这个选项或该选项位于其他部分。
在 PostgreSQL 的默认安装中listen_addresses 是 postgresql.conf 中的一个常见配置选项用于指定服务器监听的 IP 地址。但并非所有的 postgresql.conf 文件都会包含此选项。
要添加或修改 listen_addresses 选项请按照以下步骤进行操作
①打开 postgresql.conf 文件
vim postgresql.conf②在 Vim 编辑器中搜索 listen_addresses。按下 / 键然后输入 listen_addresses 进行搜索。
③如果找到了 listen_addresses 配置选项请确保其前面没有被注释掉没有以 # 开头。如果被注释掉了请将注释符号 # 删除并在需要的地方设置适当的 IP 地址。
④如果未找到 listen_addresses 配置选项你可以手动添加它。在文件的末尾添加以下行
listen_addresses your_ip_address将 your_ip_address 替换为你想要 PostgreSQL 服务器监听的实际 IP 地址。 ⑤保存文件并退出 Vim 编辑器在命令模式下按下 Esc 键然后输入 :wq 并按下回车键。
4.2.修改pg_hba.conf
在这个文件中你可以配置 PostgreSQL 服务器的客户端认证规则。当你运行如下命令后Vim 编辑器将打开 pg_hba.conf 文件并显示其内容供你编辑。你可以使用 Vim 的编辑命令对文件进行修改例如添加或更改认证规则、控制客户端访问权限等。
vim /var/lib/pgsql/14/data/pg_hba.conf在文件末尾增加如下配置
host all all 0.0.0.0/0 scram-sha-256在 pg_hba.conf 文件中添加一条身份验证规则。这条规则的含义是允许来自任何 IP 地址的所有用户使用 scram-sha-256 认证方法连接到 PostgreSQL 14 服务器。
其中各字段的含义为
host规则类型表示基于主机的认证规则。all数据库名或用户名表示适用于所有数据库和所有用户。all认证条件表示适用于所有用户。0.0.0.0/0地址范围表示接受来自任意 IP 地址的连接请求。scram-sha-256认证方法表示使用 scram-sha-256 方法进行身份验证。
这个设置将允许任何 IP 地址的用户使用 scram-sha-256 认证方法连接到 PostgreSQL 14 服务器。 注意 使用 0.0.0.0/0 范围的设置可能存在安全风险因为它允许任意 IP 地址的连接。在生产环境中请谨慎选择适当的地址范围并使用更安全的认证方法。 完成修改后保存并退出 pg_hba.conf 文件。然后重新加载或重启 PostgreSQL 14 服务使新的身份验证规则生效。重启服务
sudo systemctl restart postgresql-14这个时候如果你还想用 su - postgres 这种方式进入命令行模式可能是不能进入的可以尝试使用如下命令
psql -U postgres -h 127.0.0.1 --port 5432
在执行该命令后你将被提示输入密码以进行身份验证。输入正确的密码后psql 将连接到 PostgreSQL 14 数据库并显示类似以下的输出
psql (版本号)
输入 help 来获取帮助信息。确认连接成功后你可以开始在 psql 终端中执行 SQL 查询和命令。例如你可以使用 \l 命令查看当前数据库的列表使用 \dt 查看当前数据库中的所有表等。
4.2.1查找主机地址和端口号
执行上面命令时如何知道主机地址和端口号可以执行以下步骤
①检查 PostgreSQL 14 服务器的配置文件打开 postgresql.conf 文件并查找 listen_addresses 和 port 参数。这些参数分别指定了服务器监听的主机地址和端口号。
sudo vim /var/lib/pgsql/14/data/postgresql.conf在文件中搜索 listen_addresses 和 port记下它们的值。
②检查身份验证配置文件打开 pg_hba.conf 文件并查找适用于 postgres 用户的认证规则。在这个规则中你可以找到连接时使用的主机地址和端口号。
sudo vim /var/lib/pgsql/14/data/pg_hba.conf找到包含 postgres 用户的规则行并查看其中的主机地址和端口号。
③查看系统日志文件如果你已经启动了 PostgreSQL 14 服务器可以查看系统日志文件以获取有关主机地址和端口号的信息。
sudo tail -f /var/lib/pgsql/14/data/pg_log/postgresql-*.log在日志文件中搜索类似于 listening on 或 database system is ready to accept connections 的消息其中会显示服务器正在监听的主机地址和端口号。
在绝大多数情况下上述三种方法得到的主机地址和端口号应该是一致的。因为 PostgreSQL 的主配置文件 postgresql.conf 和身份验证配置文件 pg_hba.conf 中都包含了服务器的监听地址和端口信息。
这两个配置文件通常指定了服务器监听的主机地址和端口号。主配置文件中的 listen_addresses 参数指定了服务器监听的主机地址而 port 参数指定了服务器监听的端口号。而身份验证配置文件 pg_hba.conf 则指定了允许连接的主机地址和端口号。
因此如果你在这两个文件中找到的地址和端口号是相同的那么这个地址和端口号就是用于连接到 PostgreSQL 14 服务器的正确参数。
然而仍然有可能存在某些特殊情况例如在配置文件中进行了手动修改但未重启服务器的情况下地址和端口号可能会不一致。因此在使用时请务必确保准确地查找并使用正确的主机地址和端口号来连接到 PostgreSQL 14 服务器。 按照上面的步骤就已经成功安装配置PostgreSQL 14接下来就可以在PostgreSQL 14 数据库中查询数据。 ①打开终端并登录到 CentOS 7 服务器上。
②使用以下命令连接到 PostgreSQL 数据库
psql -U your_username -d your_database将 your_username 替换为你的数据库用户名将 your_database 替换为你要连接的数据库名称。根据需要可能需要提供密码或其他验证信息。
③成功连接到数据库后你会看到命令提示符变为 your_database#表示你现在处于 PostgreSQL 数据库的交互式命令行界面。
④在命令提示符下你可以输入 SQL 查询语句来执行各种数据库查询操作。例如要查询表中的所有数据可以使用以下命令
SELECT * FROM your_table;将 your_table 替换为你想要查询的实际表名。
⑤根据你的查询需求你可以使用其他 SQL 查询语句和关键字如 SELECT、FROM、WHERE、GROUP BY、ORDER BY 等等。
⑥当完成查询后你可以使用 \q 命令退出 PostgreSQL 数据库的交互式命令行界面。
五、常用命令
--显示所有已创建的数据库列表包括名称、所有者、编码等详细信息。
\l --查看特定数据库中的表和用户请首先切换到该数据库
\c your_database--列出所有表
\dt--查看当前数据库中的所有用户
SELECT * FROM pg_user;--使用 psql 命令以超级用户身份连接到 PostgreSQL 14然后连接到默认数据库
psql -U postgres--更新系统软件包确保 CentOS 7 系统处于最新状态
sudo yum update--初始化 PostgreSQL 数据库
sudo postgresql-setup initdb--启动 PostgreSQL 服务
sudo systemctl start postgresql-14--验证 PostgreSQL 14 服务器是否已成功重新启动(看到类似 active (running) 的输出)
sudo systemctl status postgresql-14