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部署基础服务的信息别忘了在本站进行查找喔。


数据运维技术 » Linux环境下PostgreSQL数据库的简易安装 (linux postgresql安装)