Linux环境下PostgreSQL数据库的简易安装 (linux postgresql安装)
PostgreSQL是世界上更先进的开源SQL数据库之一,它支持丰富的数据类型、高级函数、事务处理、复杂查询和多用户同时访问等特性。本文将介绍在Linux环境下如何简易地安装PostgreSQL数据库。
1. 下载和安装步骤
1.1 下载PostgreSQL
需要到官网http://www.postgresql.org/download/下载最新的PostgreSQL版本,选择与自己操作系统匹配的版本。可以通过以下命令获取最新版本的下载链接:
$ curl https://www.postgresql.org/ftp/source/ | grep -E ‘tar.gz|bz2$’ | grep -v rc | head -n 1
例如,假设最新版本是13.2,则可以通过以下命令获取下载链接:
$ curl https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.gz -o postgresql-13.2.tar.gz
1.2 解压和安装
下载完成后,使用tar命令解压缩压缩包,进入解压后的目录,执行configure脚本:
$ tar zxvf postgresql-13.2.tar.gz
$ cd postgresql-13.2
$ ./configure –prefix=/usr/local/pgsql –with-python –with-perl
其中,–prefix选项指定安装目录,–with-python和–with-perl选项分别开启Python和Perl语言的支持。
执行configure脚本后,可以执行make和make install进行编译和安装:
$ make
$ sudo make install
如果安装成功,会在指定的安装目录/usr/local/pgsql下创建如下文件和目录:
bin/
include/
lib/
share/
其中,bin目录中包含了PostgreSQL的可执行文件,如psql、pg_dump等。
2. 初始化和配置
2.1 初始化数据库
安装完成后,需要进行初始化数据库的操作。
需要创建一个专门的PostgreSQL用户,并将其授权为在数据库中进行超级用户操作:
$ sudo useradd postgres
$ sudo su postgres
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
其中,-D选项指定数据库文件存储的目录,这里我们创建了一个data目录作为存储目录。
2.2 启动PostgreSQL
初始化完成后,可以使用以下命令启动PostgreSQL:
$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start
其中,-D选项指定数据库文件存储的目录,-l选项指定日志文件。启动成功后,可以通过以下命令查看PostgreSQL的进程:
$ ps aux | grep postgres
2.3 创建数据库
启动成功后,可以登录到psql客户端,创建一个新的数据库:
$ /usr/local/pgsql/bin/psql -U postgres
postgres=# CREATE DATABASE mydb;
其中,-U选项指定登录用户名,这里我们以postgres用户登录。
3. 使用和管理
安装完成后,可以使用psql客户端进行数据库操作。
3.1 数据库的常规操作
常见的数据库操作包括创建表、插入数据、查询数据、更新数据和删除数据等。
在psql客户端中,可以使用以下命令创建一个新表:
postgres=# CREATE TABLE mytable (id INT, name TEXT);
然后,可以使用以下命令插入一条记录:
postgres=# INSERT INTO mytable (id, name) VALUES (1, ‘hello’);
接着,可以使用以下命令查询数据:
postgres=# SELECT * FROM mytable;
3.2 数据库的备份和恢复
通过以下命令可以备份数据库:
$ /usr/local/pgsql/bin/pg_dump -U postgres mydb > mydb.sql
其中,-U选项指定登录用户名。
通过以下命令可以恢复数据库:
$ /usr/local/pgsql/bin/psql -U postgres mydb
4.
本文介绍了在Linux环境下如何简易地安装PostgreSQL数据库,包括下载和安装、初始化和配置、使用和管理等操作。PostgreSQL作为一种功能强大的开源数据库,在企业中得到了广泛的应用,本文所述的安装过程对于初学者和中级用户来说非常实用。
相关问题拓展阅读:
k8s部署基础服务
注意把10.170.208.111 替换成自己linux虚拟机的ip地址
# kubeadm init \
–apiserver-advertise-address=10.170.208.111 \
–image-repository registry.aliyuncs.com/google_containers \
–kubernetes-version=v1.19.4 \
–service-cidr=10.96.0.0/12 \
–pod-network-cidr=10.244.0.0/16 \
–token-ttl=0
安装方式建议实用kubeadm安装方式
kubectl taint nodes –all node-role.kubernetes.io/master-
wget
多网卡服务器需要指定网卡
vim kube-flannel.yml
kubectl apply -f kube-flannel.yml
查找问题 journalctl -f -u kubelet.service
kubectl apply -f
kubectl apply -f
# On first install only
kubectl create secret generic -n metallb-system memberlist –from-literal=secretkey=”$(openssl rand -base64 128)”
cat metallb.cfg
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
name: default
protocol: layer2
addresses:
.170.208.10-10.170.208.15
EOF
10.170.208.10-10.170.208.15 是负皮做闹载均衡使用的ip范围
kubectl apply -f metallb.cfg
kubectl apply -f
wget
vim recommended.yaml
spec:
胡首 type: NodePort
ports:
port: 443
燃罩 targetPort: 8443
nodePort: 30000
selector:
k8s-app: kubernetes-dashboard
kubectl apply -f recommended.yaml
cat admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
kubectl apply -f admin-user.yaml
serviceaccount/admin-user created
Creating a ClusterRoleBinding
cat ClusterRoleBinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
– kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
kubectl apply -f ClusterRoleBinding.yaml
使用token进行登录,执行下面命令获取token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk ‘{print $1}’)
kubectl create clusterrolebinding serviceaccount-cluster-admin –clusterrole=cluster-admin –group=system:serviceaccount
curl -L
| sh –
cd istio-1.10.0
export PATH=$PWD/bin:$PATH
istioctl install –set profile=demo -y
kubectl label namespace default istio-injection=enabled
wget
tar -zxvf helm-v3.6.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
共享端安装nfs-server,k8s所在主机安装nfs客户端【具体根据linux版本安装对应包】
以ubuntu为例:
apt-get install nfs-kernel-server
vim /etc/exports
/data/k8s *(rw,sync,no_root_squash)
手动
mount -t nfs -o nolock -o tcp 10.170.208.111:/data/k8s /nfs
自动
vim /etc/fstab
# nfs volumes
10.170.208.111:/data/k8s /nfs nfs defaults
helm search repo nfs-client-provisioner
helm install aliyuncs/nfs-client-provisioner –name nfs-storageclass –set nfs.server=10.170.208.111 –set nfs.path=/data/k8s
helm install stable/nfs-client-provisioner –name nfs-storageclass –set nfs.server=10.170.208.111 –set nfs.path=/data/k8s
helm pull stable/nfs-client-provisioner –untar
cd nfs-client-provisioner/
vim values.yaml
values.yaml
…
nfs:
server: 10.170.208.
path: /data/k8s
mountOptions:
…
helm install nfs -f values.yaml .
helm pull aliyuncs/kafka
tar -zxvf kafka-7.2.2.tgz
cd kafka
helm install kafka . -f ./values.yaml –set service.type=NodePort
helm repo add bitnami
helm install bibt bitnami/postgresql-ha
export POSTGRES_PASSWORD=$(kubectl get secret –namespace default bibt-postgresql-ha-postgresql -o jsonpath=”{.data.postgresql-password}” | base64 –decode)
export | grep POSTGRES_PASSWORD
export REPMGR_PASSWORD=$(kubectl get secret –namespace default bibt-postgresql-ha-postgresql -o jsonpath=”{.data.repmgr-password}” | base64 –decode)
export | grep REPMGR_PASSWORD
helm install redis-service bitnami/redis-cluster
export REDIS_PASSWORD=$(kubectl get secret –namespace “default” redis-service-redis-cluster -o jsonpath=”{.data.redis-password}” | base64 –decode)
export | grep REDIS_PASSWORD
helm install mongodb bitnami/mongodb
export MONGODB_ROOT_PASSWORD=$(kubectl get secret –namespace default mongodb -o jsonpath=”{.data.mongodb-root-password}” | base64 –decode)
export | grep MONGODB_ROOT_PASSWORD
helm install mqtt emqx/emqx –set service.type=LoadBalancer
export EMQX_ROOT_PASSWORD=$(kubectl get secret –namespace default mqtt -o jsonpath=”{.data.emqx-root-password}” | base64 –decode)
export | grep EMQX_ROOT_PASSWORD
ElasticSearch 的 Helm Chart 模板是 ES 官方 Github 获取的,它的 Github 地址为
。
# Helm 增加 Elastic 仓库
helm repo add elastic
# 安装 ElasticSearch Master 节点
helm install elasticsearch –set antiAffinity=soft elastic/elasticsearch
helm install kibana elastic/kibana
helm install apm-server elastic/apm-server
wget
/archive/refs/tags/v7.13.2.tar.gz
tar -zxvf v7.13.2.tar.gz
cd helm-charts-7.13.2/filebeat/examples/deployment
make install
helm upgrade –wait –timeout=900s –install –values values.yaml helm-filebeat-deployment ../../
linux postgresql安装的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux postgresql安装,Linux环境下PostgreSQL数据库的简易安装,k8s部署基础服务的信息别忘了在本站进行查找喔。