目次
2. オペレーティング システムのバージョンのクエリと yum ソースの構成... 1
3. PostgreSQL の確認とアンインストール... 3
四、PostgreSQL10 Yumのインストールとデプロイ… 4
8、リモート アクセス サーバー データベース サービス... 13
九、PostgreSQL11ソースコードのインストールとデプロイ… 14
10. Windows に PostgreSQL13.17 をインストールする
十一、POSTGRES マスタースレーブデータ同期・・・19
12. POSTGRES 自動インストールスクリプト... 19
十三、POSTGRESの操作とメンテナンスの注意事項... 19
1. PG データ テーブルのエクスポートとインポート... 19
4. PG に空のテーブルがあるかどうかを確認します... 21
5. PG はデータ テーブルを GreenPlum にインポートします... 22
1. 文書の説明
オペレーティング システムを使用して、CentOS7 の仮想マシンにデータベース PostgreSQL をインストールおよびデプロイし、データベース サーバーとして PostgreSQL を起動および初期化してから、Ubuntu16 のオペレーティング システムを使用する別の仮想マシンをクライアントとして使用して、サーバーのデータベース サービスにアクセスします。パイソン。
2. オペレーティング システムのバージョンのクエリと yum ソースの構成
>サーバー
1) オペレーティング システムのバージョンとネットワーク アドレスのクエリ
2) yum ソース配布
1. 仮想マシン設定で CD/DVD を選択し、ISO イメージ ファイルを使用します。
下の図に示すように、システムの起動後に CD-ROM デバイスが自動的にマウントされます。システムのバージョンが光学ドライブ デバイスの自動マウントをサポートしていない場合は、手動でマウントする必要があります。
① CD-ROM ファイルを探す: /dev/cdrom
注: このシステムはソフト接続を行っているため、/dev/cdrom と /dev/sr0 で使用される CD-ROM ファイルは一貫しています。
②CD-ROMのマウントフォルダを作成:mkdir /mnt/centos
③ビルドしたCD-ROMフォルダにCD-ROMファイルをマウント: mount /dev/cdrom /mnt/centos
2. ローカル コピーをコピーして、CentOS7 イメージ ファイルを保持し、ローカル yum ソースを構成します。
[root@hadoop1 ~]# mkdir /mnt/centos7
[root@hadoop1~]# cd /run/media/june/CentOS\7\x86_64/
[root@hadoop1 ~]# cp -r * /mnt/centos7/
[root@hadoop1 ~]# cd /etc/yum.repos.d/
[root@hadoop1 ~]# touch CentOS-Local.repo
/etc/yum.repos.d/ ディレクトリに新しいファイル CentOS-Local.repo を作成し、次のように構成します。baseurl は、ローカルに予約されたミラー ファイルのアドレスです。enabled=1 は、yum ソースを有効にすることを意味します。
[root@hadoop1 ~]# yum list パッケージ一覧を見る
注: yum ヘルプを使用して yum コマンドとパラメーター設定を学習します。すべてのインストール ログは、/etc/yum.conf で指定された logfile=/var/log/yum.log ファイルに保持されます。
>クライアント
オペレーティング システムのバージョンとネットワーク アドレスのクエリ
3. PostgreSQL のチェックとアンインストール
1) PostgreSQLチェック
システムで使用されている Postgresql サーバーの現在のバージョンは、psql のバージョンと一致していません。下の図に示すように、Postgresql サーバーはバージョン 9.5 を使用していますが、システムのデフォルトは psql のバージョン 9.2 です。
この問題の解決策は次のとおりです。
① find / -name psql を使用して、システム内のすべての psql バージョンの構成パスを見つけます。
② 現在の psql の名前を psql9.2 に変更し、ソフト接続を確立して、現在の psql 構成パスが pgsql-9.5 に対応する psql を指すようにします。
③ psql のバージョンと postgres サービスを再度確認すると、図に示すように、psql のバージョンは postgresql サーバーのバージョンと一致しています。
2) Postgresqlのアンインストール
①postgresql関連のソフトウェアパッケージを全て削除 yum remove postgre*、postgresql9.5版、postgresql9.2版含め、削除したソフトウェアパッケージの情報をログ/var/log/yum.logに書き込みます
②該当するディレクトリファイルを削除し、ディレクトリファイル /usr/pgsql* とデータディレクトリファイル var/lib/psql をインストール
③postgresql関連のユーザーグループとユーザーを削除
四、PostgreSQL10 Yumのインストールとデプロイ
1) PostgreSQL へのログイン: Linux ダウンロード (Red Hat ファミリー)
2) PostgreSQL バージョンを 10、プラットフォーム オペレーティング システムを CentOS7、x86 アーキテクチャを 64 ビットとして選択し、公式 Web サイトに従って、最新のシステム ウェアハウス RPM パッケージ、クライアント ソフトウェア パッケージ、およびサーバー ソフトウェア パッケージをインストールします。
[root@hadoop1 ~]# yum install /pub/repos/yum/ のインデックス
reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[root@hadoop1 ~]# yum install postgresql10
[root@hadoop1 ~]# yum install postgresql10-server
インストールが完了すると、現在のバージョンが PostgreSQL10.11 として表示されます。
3) データベースの初期化
データベースの初期化により、/var/lib/pgsql ディレクトリに 10 という名前のフォルダーが作成されます。10 はデータベースのバージョン番号で、このフォルダーにはデータ フォルダーがあります。デフォルトでは、postgres という名前のシステム ユーザーが作成されます。 passwd コマンドを通過する パスワードを変更する
4) ブートを自動的に開始するように設定する
[root@hadoop1 ~]# systemctl enable postgresql-10.service
5) データベース サービスを開始し、データベース サービスを表示する
[root@hadoop1 ~]# systemctl start postgresql-10.service
[root@hadoop1 ~]# systemctl status postgresql-10.service
6) データベース サービスのプロセスとポートを確認する
ps -ef | grep postgres
netstat -anp | つかむ 5432
5. データベースを起動してテストする
1) リモート アクセスを有効にする
vi /var/lib/pgsql/10/data/postgresql.conf
#listen_addresses = 'localhost' を listen_addresses='*' に変更します。
もちろん、ここの「*」は、開きたい任意のサーバー IP に変更することもできます
2) リモート接続を信頼する
vi /var/lib/pgsql/10/data/pg_hba.conf
IPv4 ローカル接続アドレス 127.0.0.1/32 を 0.0.0.0/0 に変更し、対応する接続方法を md5 認証方法に変更します
3) ファイアウォールを開く
CentOS ファイアウォールには PostgreSQL サービスが組み込まれています. /usr/lib/firewalld/services/postgresql.xml 設定ファイルによると, ファイアウォール ポート 5432/tcp を開いて postgres サービスを開く必要があります. 実行は次のとおりです. :
systemctl ステータス firewalld
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload ファイアウォールのリロード
firewall-cmd --list-all ファイアウォールを表示
4) PostgreSQL サービスを再起動します。
systemctl restart postgresql-10.service
5) デフォルトの postgres データベースに接続し、postgres という名前のユーザーのパスワードを変更します。
6) データベースの作成とテスト
最初に新しいユーザー shu を作成してスーパーユーザー権限を付与し、そのパスワードを変更してから、データベース shudb を作成して shu がデータベースを操作できるようにします。
ユーザー shu がデータベース shudb にログインし、mytable テーブルを作成して、基本的な SQL 関数をテストします。
6 番目に、仮想マシン ネットワークを構成します。
1) CentOS および Ubuntu 仮想マシンのネットワーク接続モードがブリッジ モードに設定されている
まず、データベースサーバーである仮想マシン CentOS7 とデータベースクライアントである仮想マシン Ubuntu16 の両方がブリッジングネットワーク接続方式を使用する必要があります.仮想マシンを起動する前に、仮想マシンを選択します--設定--ネットワークアダプター--ネットワーク接続を確認し、ブリッジ モードを確認して、仮想マシンを起動します。
仮想マシンの 3 つのネットワーク接続モードの違い: (私の理解は正確ではないかもしれません ~)
①ブリッジモード: 物理ネットワークに直接接続し、仮想マシン ネットワークはホスト ネットワークと同じネットワーク セグメントの IP アドレス ( 192.168.124.7/24 ) を使用し、独自の IP アドレスを使用して外部ネットワークにアクセスします。
②NATモード:ホストのIPアドレスを共有するために使用され、仮想マシンのネットワークはホストネットワークのサブネットIPアドレスを使用し、外部ネットワークにアクセスできますが、ホストのIPアドレスを介して外部ネットワークにアクセスできます
③ホストオンリーモード:ホストと共有する専用ネットワークで、外部ネットワークにはアクセスできない
Win7 ホスト ネットワーク: IPv4 192.168.124.7/24
>サーバー
CentOS7.4 ネットワーク: IPv4 192.168.124.49/24
>クライアント
Ubuntu16.4 ネットワーク: IPv4 192.168.124.50/24
2) データベース サーバーとしての CentOS ネットワークを静的ネットワーク アドレスに変更します。
最初にネットワーク カード ens33 を切断し、構成ファイル ifcfg-ens33 を変更し、変更した内容を保存してから、ネットワーク カード ens33 を接続し、最後にネットワークを再起動します。
注: ネットワークを再起動するコマンドは、サービス ネットワークの再起動を使用することをお勧めします
現在、ネットワーク カード ens33 の構成ファイルを使用しています: /etc/sysconfig/network-scripts/ifcfg-ens33
元の動的 IP 構成は次のとおりです。
静的 IP に変更した後の構成は次のとおりです。
3) テストネットワーク
Baidu ホームページの IP 180.101.49.12 などの外部ネットワークに ping を実行しますが、yum install postgresql10-devel を実行してエラーを報告します。
yum ソース構成が正しいことを確認した後、yum キャッシュを消去し、メタデータ キャッシュを再作成します yum clean all
Yum makecache、次のようにエラーを報告し続けます
ネチズンの提案に従ってファイル /etc/resolv.conf を変更し、2 つのドメイン ネーム サービス アドレスを追加し、現在ネットワーク カード ens33 を使用している構成ファイルにアドレスを追加します。
[root@hadoop1 ~]# vi /etc/resolv.conf
[root@hadoop1 ~]# ifdown ens33
[root@hadoop1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@hadoop1 ~]# ifup ens33
[root@hadoop1 ~]# サービス ネットワークの再起動
/etc/sysconfig/network-scripts/ifcfg-ens33 の最新の設定情報は以下の通りで、DNS1=8.8.8.8 と DNS2=8.8.4.4 を追加
最後に、次の yum コマンドは、エラーを表示することなく正しく実行できます。
postgresql10-contrib と postgresql10-devel をインストールすることをお勧めします
yum makecache
yum インストール postgresql10-contrib
yum インストール postgresql10-devel
7. Python のインストール
1) CentOS7 に Python 2.7.5 をインストールします。
①インストールパッケージを入手する
仮想マシンのネットワークはブリッジモードを採用しているため、curl コマンドや wget コマンドを直接使用して、setuptools や pip インストール パッケージなどの外部ネットワーク リソースを取得できます。ローカルにインストール パッケージがある場合は、ftp や filezilla などのファイル転送ツールを使用してアップロードできます. 図 pip-1.5.4.tar.gz に示すように、tar.gz タイプのインストール パッケージを使用することをお勧めします。および setuptools-2.0.tar.gz
②セットアップツールのインストール
[root@hadoop1 opt]# sudo tar -zxvf setuptools-2.0.tar.gz -C /opt
[root@hadoop1 opt]# cd setuptools-2.0/
[root@hadoop1 opt]# python setup.py ビルド
[root@hadoop1 opt]# python setup.py インストール
③pipをインストール
[root@hadoop1 opt]# tar -xzvf pip-1.5.4.tar.gz –C /opt
[root@hadoop1 opt]# cd pip-1.5.4
[root@hadoop1 opt]# python setup.py インストール
[root@hadoop1 opt]# python -V
パイソン 2.7.5
④ postgreSQL データベースへのアクセスに必要な psycopg2 など、必要な python パッケージをインストールします。
[root@hadoop1 pip-1.5.4]#pip install psycopg2
[root@hadoop1 pip-1.5.4]# find / -name psycopg2
/usr/lib64/python2.7/site-packages/psycopg2
2) Ubuntu 16 に Python 2.7.5 をインストールします。
root@ubuntu:~# sudo apt-get install python
root@ubuntu:~# sudo apt-get install libpq-dev python-dev
root@ubuntu:~# sudo apt-get install python-pip
root@ubuntu:~# pip install psycopg2
8、リモート アクセス サーバー データベース サービス
1) Ubuntu 仮想マシン リモート アクセス データベース サービス
データベースに接続するためのサーバー上の python スクリプトをクライアントにアップロードし、アップロードが成功したらスクリプトのホスト アドレスを変更し、ローカル アクセス時に設定された 127.0.0.1 をサーバー側の仮想マシン アドレス 192.168 に変更します。 124.49
root@ubuntu:~# scp [email protected]:/opt/postgresqlConnect.py /opt/
root@ubuntu:~# vi /opt/postgresqlConnect.py
Python は psycopg2 のインストール後にデータベース アクセス スクリプトを実行し、リモート データベース サービスを正常に取得できます。
2) ホストは PostgreSQL データベース サービスにリモート アクセスします。
図に示すように、サーバー上の postgres サービスが有効になっており、ホストが Navicat を介してサーバー上のデータベース サービスに正常にリモート アクセスしていることを確認します。
9. PostgreSQL11 ソースコードのインストールとデプロイ
ソース コードを使用して PG11.5 をインストールする
postgresql ソースコードのインストール - monkey6 - 博客园
依存関係をインストールする
yum install -y perl -ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc -c++ openssl-devel cmake
インストール構成
./configure --prefix=/usr/local/pgsql-11.5 --with-wal-segsize=512 --with-wal-blocksize=16 --with-pgport=5432 --with-segsize=1 --with -blocksize=8 --with-libedit-preferred --with-perl --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8
コンパイルする
インストールする インストールする
[root@node7 opt]# useradd postgres
[root@node7 opt]# mkdir pgdata
[root@node7 opt]# chown -R postgres:postgres pgdata/
[ root@node7 local ]# ln -sf /usr/local/pgsql-11.5/ /usr/local/pgsql
[root@node7 ローカル]# su - postgres
[postgres@node7 ~]$ . ~/.bashrc
エクスポート PGDATA=/opt/pgdata
エクスポート PGHOME=/usr/local/pgsql
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib
export PATH=$PATH:$PGHOME/bin
[postgres@node7 ~]$ initdb
[postgres@node7 ~]$ pg_ctl -D /opt/pgdata -l ログファイル開始
サーバーが起動するのを待っています....完了
サーバーが起動しました
PostgreSQLデータベースはデータベースの管理者として postgres ユーザーを作成します。パスワードはランダムなので、パスワードを変更する必要があります。方法は次のとおりです。
10. Windows に PostgreSQL13 をインストールする
1. pg をダウンロードしてインストールする
PostgreSQL ダウンロード pgをダウンロード
PostgreSQL10.5インストール詳細手順(Win10)_DrugAIのブログ - CSDN blog_postgresql win10インストール pg
2. 環境変数を設定する
PG_HOME D:\BASKET\ postgresql13
PGDATA %PG_HOME%\data
パス %PG_HOME%\bin
3. Windows サービスの登録
pg_ctl.exe register -N "postgres" -D "D:\BASKET\postgresql-13.0.1\data"
システム サービスの削除
sc 削除サービス名
再登録します。正しいインストールが成功すると、pg サービスがシステム サービスに自動的に登録されます。
pg_ctl.exe register -N "postgres" -D "D:\BASKET\postgresql13\data" -実行する必要はありません
4. navicat 接続 pg データベース テスト
データベース: postgres
ユーザー名: postgres
パスワード: postgres
5.pgAdmin
ドキュメントを参照してください: http://t.csdn.cn/EL6mP
12. POSTGRES 自動インストールスクリプト
###采用源码包安装postgres###
############################
#!/bin/bash
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install"
exit 1
fi
echo "Please download the version of postgres from https://www.postgresql.org/ftp/source/"
## Update below messages about where you get the package and where you want to install
dir_package='/md5'
install_package=${dir_package}'/postgresql-11.5.tar.gz'
package_version='postgresql-11.5'
## create user mysql and paths /md5/postgres and /md5/postgres/pgdata
useradd postgres
mkdir -p /md5/postgres
mkdir -p /md5/postgres/pgdata
pg_home='/md5/postgres'
pg_data='/md5/postgres/pgdata'
## The default linux system version is Redhat/CentOS7
clear
echo "=========================================================================="
echo "A tool to auto-compile & install $package_version on Redhat/CentOS7 Linux "
echo "=========================================================================="
## 1. preparations for postgres installation
echo ">>Step1: postgres安装准备中..."
echo ">>Step1-1: install the packages depeneded on"
##如果没有root权限,可以跳过以下依赖包的安装,如果后续安装报错再手动添加相关依赖包
##yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
echo ">>Step1-2: decompress the install package"
package_tar_name=${install_package##*/}
package_name=${package_tar_name%%.tar*}
## decompress the install package
tar zxvf $package_tar_name -C ${dir_package}/
## assign the port for postgres installation
read -p "Tell me a viable port you'd like to install postgres (the default port is 5432):" port
if [ ! ${port} ];then
mport=5432
elif [ !`${port} -eq 5432` ];then
mport=${port}
fi
echo "The port="${mport}
## 2. start postgres installation
echo ">>Step2: 开始安装$package_version"
echo "We are about to install $package_version, please wait..."
echo ">>Step2-1: 配置(--prefix——指定安装目录,--with-pgport——指定启动端口)"
cd ${dir_package}/${package_name}/
./configure --prefix=${pg_home} --with-pgport=${mport}
echo ">>Step2-2: 编译与安装"
make && make install
## 3. initial and start postgres
echo ">>Step3: postgres的初始化与启动"
chown -R postgres:postgres ${pg_home}
echo ">>Step3-1: postgres初始化"
su - postgres -s /bin/bash -c "${pg_home}/bin/initdb -D ${pg_data}"
echo ">>Step3-2: 启动postgres"
su - postgres -s /bin/bash -c "${pg_home}/bin/pg_ctl -D ${pg_data} -l logfile start"
if [ `ps -ef | grep postgres | grep -v grep | wc -l` -eq 0 ]
then
echo "Postgres started failed"
else
echo "Postgres started successfully"
fi
## 4. 设置环境变量使用psql连接数据库
## echo `export PGHOME=${pg_home}` >> /home/postgres/.bashrc
## echo `export PGDATA=${pg_data}` >> /home/postgres/.bashrc
## echo `export PATH=$PATH:${PGHOME}/bin` >> /home/postgres/.bashrc
## source /home/postgres/.bashrc
## su - postgres
## psql --help
## psql -h localhost -U postgres
## postgres=# alter user postgres with password 'postgres';
## postgres=# \q
## 5. 打开防火墙端口
## systemctl status firewalld
## firewall-cmd --permanent --add-port=5432/tcp
## firewall-cmd --reload 重载防火墙
## firewall-cmd --list-all 查看防火墙
##6. pg扩展插件安装
##cd ${dir_package}/${package_version}/contrib/
##make && make install
##安装完成后可以在${pg_home}/share/extension/ 目录下查看到
##7. 修改pg用户密码 —— 即使设置了密码,选择带密码的连接方式时不输入或者输错密码也可以正常连接上的,这个为啥?
##[postgres@centos7-min7 contrib]$ psql -W
##Password:
##psql (11.5)
##Type "help" for help.
##postgres=# \password
##Enter new password: 123456
##Enter it again:
1. PG データ テーブルのエクスポートとインポート
sudo su -postgres
st で始まる pg エクスポート データベース testdata テーブル
pg_dump -U postgres -t 'st*' テストデータ > st.sql
pg export database testdata が st テーブルで始まらない
pg_dump -U postgres -T 'st*' テストデータ > no_st.sql
データではなく、テーブル構造のみをエクスポートします
pg_dump -U postgres -t -s 'st*00' テストデータ > st00.sql
pgファイルをインポート
psql -d testdata -U postgres -f st.sql > st.log
テーブルのテーブル名を切り捨てます。
select * from pg_database where datname='testdata';
2.特定の識別子を持つテーブルを削除する
psql -d 'testdata' -c "select distinct(table_name) from information_schema.columns where table_name LIKE '%202001%';" > /home/postgres/temp.txt
猫 /home/postgres/temp.txt | 行を読みながら
する
psql -d 'testdata' -c "drop table $line;"
終わり
3. PG データをコピーする
[root@node8 データ]# cat copy_pg_data.sh
#!/ビン/バッシュ
ファイル名=table_list.txt
psql -d testdata -U postgres -c "\d"|awk '{print $3}'|grep 20200402 > table_list.txt
for line in `cat ./${filename}`
する
new_name=${line/20200402/20200430}
table_name=${new_name%_*}
file_date=${new_name##*_}
#echo ${new_name} ${file_date} ${table_name}
psql -d testdata -U postgres -c "${new_name} が存在する場合はテーブルをドロップします。('${file_date}') の値に対して ${table_name} の ${new_name} パーティションが存在しない場合はテーブルを作成します;"
#echo "('${file_date}') の値に対して ${table_name} の ${new_name} パーティションが存在しない場合はテーブルを作成します。" >> create.log
psql -d testdata -U postgres -c "\copy ${line} to ${new_name}.data"
sed -i "s/20200402/20200430/g" ${new_name}.data
psql -d testdata -U postgres -c "\copy ${new_name} from ${new_name}.data"
#echo "success ${new_name}" >> success.log
終わり
rm -rf *.data
4. PG に空のテーブルがあるかどうかを確認します
#!/ビン/バッシュ
##データベースからテーブルリストを取得
デシベル = "postgres"
/usr/pgsql-10/bin/psql -h 192.168.20.71 -p 5432 -U postgres -d ${db} -c "\d" >tablesName.txt
num=`cat テーブル名.txt | awk '{if($3!="") print $3}' | wc -l`
number=$(($number-2))
echo "データベース num="$num
rm -rf tablesWithCounter.txt
for((n=3;n<=$num;n++))
する
table=`cat テーブル名.txt | awk '{if($3!="") print $3}' | sed -n $n'p'`
echo $table >> tablesWithCounter.txt
#/usr/pgsql-10/bin/psql -h 192.168.20.71 -p 5432 -U postgres -d ${db} -c "if (select count(*) as counter from $table ==0) then select $ pg_tables のテーブル" >>tablesWithCouter.txt
/usr/pgsql-10/bin/psql -h 192.168.20.71 -p 5432 -U postgres -d ${db} -c "select count(*) as counter from $table" >> tablesWithCounter.txt
終わり
テーブルインデックス=0
猫のtableWithCounter.txt | 行を読みながら
する
((テーブルインデックス=$テーブルインデックス+1))
#tbname="$line" |カット -c 1-2
if [[ "$line" == "da"* ]]
それから
tbname=$行
#echo $tableindex+"@"+$tbname
index1=$テーブルインデックス
フィ
if [[ "$line" == "0" ]]
それから
tbnull=$行
#echo $tableindex+"@"+$tbnull
index2=$テーブルインデックス
[[ (($index2-$index1==3)) ]] の場合
それから
echo $tbname $tbnull
フィ
フィ
終わり
5.PG はデータテーブルを GreenPlum にインポートします
#!/ビン/バッシュ
##/usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data/
#pg データテーブルを gp にインポート
#/usr/pgsql-10/bin/pg_dump -h 192.168.20.71 -p 5432 -U postgres -C -E UTF-8 -t datatest -d postgres | psql -h 192.168.20.73 -p 5432 -U postgres -d postgres
#/usr/pgsql-10/bin/psql -h 192.168.20.71 -p 5432 -U postgres -d postgres -c "select * from datatest" > temp.txt
##データベースからテーブルリストを取得
デシベル = "postgres"
/usr/pgsql-10/bin/psql -h 192.168.20.71 -p 5432 -U postgres -d ${db} -c "\d" >temp.txt
num=`cat temp.txt | awk '{if($3!="") print $3}' | wc -l`
number=$(($number-2))
echo "データベース num="$num
for((n=3;n<=$num;n++))
する
table=`cat temp.txt | awk '{if($3!="") print $3}' | sed -n $n'p'`
$テーブルをエコー
/usr/pgsql-10/bin/pg_dump -h 192.168.20.71 -p 5432 -U postgres -C -E UTF-8 -t ${table} -d postgres | psql -h 192.168.20.73 -p 5432 -U postgres -d postgres
終わり
6.新しいデータベース ユーザー
[postgres@hjr26 opt]$ psql -d postgres
postgres=# create user work スーパーユーザー パスワード 'xxxxx';
[postgres@hjr26 opt]$ psql -d postgres -U 仕事
postgres=# データベース testdata を作成します。
postgres=# \l
postgres=# \あなた
postgres=# \c テストデータ
これで、ユーザー「work」としてデータベース「testdata」に接続されました。
testdata=# \d
関係は見つかりませんでした。
7.データ テーブルの所有者を変更する
publicbigdata=#テーブル channel_cell の所有者を機能するように変更します。
他の机
publicbigdata=#\d
関係一覧
スキーマ | 名前 | タイプ | オーナー
------+---------------------+-------+----------
公開 | チャネル_セル | テーブル | 仕事