目次
PostgreSQL 9.5の新機能: IMPORT FOREIGN SCHEMA
ホームページ バックエンド開発 PHPチュートリアル PostgreSQL 9.5 の新機能: IMPORT FOREIGN SCHEMA_PHP チュートリアル

PostgreSQL 9.5 の新機能: IMPORT FOREIGN SCHEMA_PHP チュートリアル

Jul 12, 2016 am 09:00 AM
android

PostgreSQL 9.5の新機能: IMPORT FOREIGN SCHEMA


今回は、時代についていけず率先して学習しようとした社員がいかにして自分の価値を失ったかをストーリー形式でお伝えします。最新機能を理解せずに仕事をする「古参社員」のメリットとリーダーからの信頼。

スモッグのない晴れた朝、技術部門のリーダーがシャオ・ミンをオフィスに呼び、「兄さん、新しいシステムで使用されている生産システムのデータを確認したいのですが、何か比較はありますか?」と尋ねました。新しい PG データベースにそのような解決策はありますか? "

リーダー、本番システムからデータをエクスポートして、新しい PG データベースにインポートするのは問題ありません。

リーダー: 「もっと速くて便利な方法はありますか?」

Xiao Ming: 「リーダー、本番システムからデータをエクスポートして、新しいシステムにインポートするのが簡単です。 "

リーダー: "もっと速いです、便利な方法はありますか?"

Xiao Ming: "リーダー、本番システムからデータをエクスポートして新しいシステムにインポートするのはすでに非常に高速です。 「

リーダーは、シャオミンの繰り返しのような答えに少しイライラしていました。心の中の焦りを抑えて、彼は尋ねました:「外部テーブルをインポートするには、どのような準備が必要ですか?」

リーダーは尋ねました真剣に「テーブルは合計で何個ありますか?」 シャオミンは突然何かを思い出してささやきました。「ボス...思い出したんですが...約 300 個のテーブルを持つ別のユーザーがいます...」 (-__-|| |) (声が小さすぎて自分ではほとんど聞こえませんでした)

リーダーは少しイライラしました:「出て行け!」

シャオミンは顔を真っ赤にして言いました:「リーダー!私の言うことを聞いてください」 ...「

今度はリーダーが完全に発火しました:「出て行け!」

シャオミンはリーダーのために静かにドアを閉めました...

いいえ、上司が電話しましたこの時点で: 「どうですか?もう終わりましたか?」

リーダー: 「問題ありません、ボス、ちょっと待ってください!」

ボス: 「わかりました。完了しました。私たちの新しく開発したシステムをお客様に紹介してください。少なくとも私たちはあなたのニュースを待っています! "

このとき、リーダーは会社の新しい同僚であるシャオチャンのことを思い出しましたが、シャオチャンはいつもおかしいようです。しかし、Xiaoqiang はすでに社内でデータベースに取り組む数少ない従業員の 1 人です。リーダーは、システム開発の進捗が遅く、経験時間が遅れていることを上司にどう説明するかを考えました。やってみようという気持ちで、Xiaoqiang を呼び出し、この状況でのニーズを伝えました。


Xiaoqiang:「リーダー、私がこの問題で良い仕事ができるかどうかは保証できません。最善を尽くします。」

リーダー:「いつもは元気で大袈裟な姿をしていますが、今日のあなたは。」あなたの言葉は控えめです、教えてください、何かアイデアはありますか? "

Xiaoqiang: "リーダー、私はデータベースを使わずに何かをすることができますし、無駄なものは使いません。しばらく前に PostgreSQL 9.5 の新機能を見ました。外部テーブルをインポートしてモードごとにインポートできると思います。「

」油断しないでください。」

Xiaoqiang: 「わかっています、半分。数時間以内に返信します。成功か失敗かに関係なく、すぐに報告します。」

小強が出て行った後、リーダーはタバコに火をつけて、いつもは「頼りない」ように見える小強を待った。

同時に、リーダーも、Xiaoqiang の言った方法は理論的には良さそうだと考えていましたが、実際にどのように機能するかはわかりませんでした。彼は 2 人の従業員の計画を比較しました。ミンの計画:


シャオチャンはワークステーションに戻り、水をコップに注ぎ、少し精神的に落ち込んだ彼はストレスを感じていたにもかかわらず、新しい機能 (外部モードのインポート) をテストしたばかりです)、しかし、彼はリーダーの信頼と本番システムの安定した動作に責任を負わなければならないと感じているため、まだ非常に緊張しています。これは決して、よくある遊びのようなナンセンスではありません。周りで冗談を言います。


彼はノートブックを開いて深呼吸し、慎重に操作しました:

1. 新しい環境のデータベース バージョンを確認します:

-bash-3.2$psql

psql (9.5beta2)

「ヘルプ」と入力するとヘルプ情報が表示されます。

postgres=#selectversion();

バージョン

----------------- -- ------------------------------------------------ -- --------------------------------------

PostgreSQL9.5beta2onx86_64-pc-linux -gnu,コンパイル済み bygcc(GCC)4.1.220080704(RedHat4.1.2-55)、64 ビット

(1 行レコード)

2. ユーザーベースのモードを作成します:

postgres=#cmusic

これで、データベース「music」、ユーザー「postgres」に接続しています。

postgres=#createschemaericauthorizationeric;

CREATESCHEMA

3. postgres_fdw プラグインをインストールします:

music=#createextensionpostgres_fdw;

CREATEEXTENSION

4. 外部サーバー オブジェクトを作成します:

music=#createservermusic_fdw_serverforeigndatawrapperpostgres_fdwoptions(host'192.168.1.143',dbname'music',port'5432');

CREATESERVER

5. ユーザー マッピング オブジェクトを作成します。

音楽 = #createusermappingforericservermusic_fdw_serveroptions(user'eric',password'gao');

CREATEUSERMAPPING

本番ライブラリのテーブル情報を確認するには、

music=#cmusiceric

現在データベースに接続されています"music" asuser"eric".

music=>d

関係リスト

スキーマ|名前|タイプ|所有者

--------+---------- +--- ------------+----------

eric|要約|表|eric

...

(200行)

6. スキーマ全体のリモート インポート:

music=#importforeignschemaericfromservermusic_fdw_serverintoeric;

IMPORTFOREIGNSCHEMA

7. 新しいシステム テーブルのステータスを表示します:

music=>d概要;

参照された外部テーブル「eric.概要"

フィールド|タイプ|修飾子|FDW オプション

------+---------------------+------ - -+---------------------

id|integer||(column_name'id')

info|charactervariing(128)||(column_name '情報')

サーバー:music_fdw_server

FDWOptions:(schema_name'eric',table_name'summary')

8. 所有者と権限を調整します:

music=#grantselectoneric.summarytoeric;

GRANT

summary。オーナーテリック;

ALTERTABLE

9. 検証データ量:

music=>selectcount(*)fromsummary;

count

-----

8

(1行のレコード)

データは新しいシステムにインポートされました。Xiaoqiang さんはすぐにリーダーに電話して知らせました。

リーダー: 「はい、Xiaoqiang、一部の機密テーブルをブロックする必要がある場合、または基本的なデータのみを提供する必要がある場合、実装は簡単ですか?

Xiaoqiang: 「問題ありません、テストレポートをお渡しします」 、最近実行したばかりです。「

テストレポート:

ソース側に2つの新しいテーブルを作成します:

music=>createtableericgaoIasselect*fromsummary;

SELECT8

music=>createtable ericgaoIIasselect * fromsummary;

SELECT8

music=>d

Listofrelations

スキーマ|名前|タイプ|所有者

--------+------------- --------+ ---------------+----------

eric|ericgaoi|table|eric

eric|ericgaoi| table|eric

eric|summary| table|eric

(5行)

テーブルを除外します:

music=>cmusicpostgres

これでデータベース「music」に接続されました、ユーザー"postgres".

music=# IMPORTFOREIGNSCHEMAericEXCEPT(summary)FROMSERVERmusic_fdw_serverINTOeric;

IMPORTFOREIGNSCHEMA

インポート効果を確認します:

music=>d

ソシエーション リスト

アーキテクチャ モード | 名前 | 所有者

------ ----+----------+--------------+----------

eric|ericgaoi| による引用 |postgres

eric|ericgaoii| の外観 |postgres

(レコードの 2 行)

の外観はテーブルの概要を除外しています。

ターゲット ライブラリ内のテーブルを削除し、特定のテーブルの使用状況をテストします:

music=>dropforeigntableericgaoi;

DROPFOREIGNTABLE

music=>dropforeigntableericgaoii;

DROPFOREIGNTABLE

今回は指定された一部のテーブルのみをインポートします:

music=#importforeignschemaericlimitto(summary)fromservermusic_fdw_serverintoeric;

IMPORTFOREIGNSCHEMA

music=>d

association list

schema|name|type|owner

----- -- ---+----------+--------------+----------

引用: postgres |

(1行記録)

リーダー:「ありがとう、シャオ強、仕事に戻って」

そう言って、リーダーはシャオミンの電話番号にダイヤルしました、心はそうだと思います同僚と良好な関係を維持し、より多くの人脈を築き、より多くの機会を得る方が良いです。それに、シャオミンも古い従業員なので、今私は少し衝動的に彼に腹を立てました。

シャオミンがオフィスに入ると、リーダーは微笑んで言いました:「シャオミン、今緊急事態が発生して少し焦っていました。ごめんなさい。」

リーダー:「シャオチャンはちょうどテーブルを整理したところです。」クエリが少し遅いようです。理由を教えてください。」

シャオ・ミン: 「わかりました、リーダー、すぐに報告します。」

シャオ・ミンは戻ってきました。彼のワークステーションでいくつかのコマンドを実行し、いくつかのパフォーマンス情報を収集しました:

新しいシステムの場合:

music=>analyzeeric.summary;

ANALYZE

music=>explainanalyzeselect*fromsummary;

クエリプラン

-------------------------------------------- ------------------------------------ -------------- ----------

ForeignScanonsummary(cost=100.00..101.24rows=8width=28)(actualtime=4.308..4.319rows=8loops =1)

計画時間:0.076ms

実行時間:8.308 ms

(3 行のレコード)

本番システムのサーバーを見てください:

music=&g t;analyzeeric.summary ;

ANALYZE

music=&gと; Explainanalyzeselect*fromsummary;

クエリプラン

---------------------------- -------- -------------------------------------- -------- --------

SeqScanonsummary(cost=0.00..1.08rows=8width=28)(actualtime=0.003..0.004rows=8loops=1)

計画時間: 0.108ms

実行時間:0.023ms

(3行)

Xiao Mingは上記の情報をリーダーに提出し、次のように説明しました。「リーダー、収集された情報を見てください。リモートテーブルクエリは遅いです。この機能はまだ信頼できないようです。私は提案します」私のソリューションを使用してデータをインポートするか、サードパーティのソフトウェアを購入してデータを同期し、データをリアルタイムでローカルに同期することができます。 「

リーダー:「シャオミン…先生…会社はあなたにここに来て報告をするようお金を払って、それから新しい製品を買うためにお金を使うように上司に言いましたか?」他に何をする必要がありますか? HotStandby を使用してデータを同期したり、サードパーティ ソフトウェアを使用したりできますか?すべてのプロジェクトをカバーするデータ インポート プランを導入しますか? !現在のクエリ速度は顧客にとって許容できるものですか? 比較的遅いということですか? ! !リモート データを確認してパフォーマンスを向上させたい場合、マテリアライズド ビューを使用できますか? ! ! ! "

シャオミン:" リーダー、申し訳ありません... マテリアライズド ビューとは何ですか? 「

リーダー:「出て行け!」 ! ! "


外部テーブルのクエリ速度にはまだ一定の遅れがあります。実際のクエリ速度がプロジェクトで受け入れられる場合は問題ありません。受け入れられない場合は、もちろん、マテリアライズドビューを使用してみることもできます。解決策はたくさんありますが、その方法は常に困難よりも困難です~~~

マテリアライズドビューは多くのスペースを無駄にしません。興味がある場合は、ここを参照してください。マテリアライズド ビューのパフォーマンス テストを含む次の記事:

http://gaoqiangdba.blog.163.com/blog/static/245970045201510171821363/

http://www.bkjia.com/PHPjc/1093772.html

www.bkjia.com

tru​​e

技術記事 PostgreSQL 9.5の新機能: IMPORT FOREIGN SCHEMA 今回は、時代についていかず率先して学習する社員が最新機能を理解していない様子をストーリー形式でお伝えします...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:23 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Samsung Galaxy S25 Ultraの最初のレンダリング画像がリークされ、噂のデザイン変更が明らかに Samsung Galaxy S25 Ultraの最初のレンダリング画像がリークされ、噂のデザイン変更が明らかに Sep 11, 2024 am 06:37 AM

OnLeaks は、X (旧 Twitter) のフォロワーから 4,000 ドル以上を集めようとして失敗した数日後、Android Headlines と提携して Galaxy S25 Ultra のファーストルックを提供しました。コンテキストとして、h の下に埋め込まれたレンダリング イメージ

IFA 2024 | TCLのNXTPAPER 14は、パフォーマンスではGalaxy Tab S10 Ultraに匹敵しませんが、サイズではほぼ匹敵します IFA 2024 | TCLのNXTPAPER 14は、パフォーマンスではGalaxy Tab S10 Ultraに匹敵しませんが、サイズではほぼ匹敵します Sep 07, 2024 am 06:35 AM

TCLは、2つの新しいスマートフォンの発表に加えて、NXTPAPER 14と呼ばれる新しいAndroidタブレットも発表しました。その巨大な画面サイズはセールスポイントの1つです。 NXTPAPER 14 は、TCL の代表的なブランドであるマット LCD パネルのバージョン 3.0 を搭載しています。

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:22 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Vivo Y300 Pro は、7.69 mm のスリムなボディに 6,500 mAh のバッテリーを搭載 Vivo Y300 Pro は、7.69 mm のスリムなボディに 6,500 mAh のバッテリーを搭載 Sep 07, 2024 am 06:39 AM

Vivo Y300 Pro は完全に公開されたばかりで、大容量バッテリーを備えた最もスリムなミッドレンジ Android スマートフォンの 1 つです。正確に言うと、このスマートフォンの厚さはわずか 7.69 mm ですが、6,500 mAh のバッテリーを搭載しています。これは最近発売されたものと同じ容量です

Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Sep 12, 2024 pm 09:21 PM

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

Motorola Razr 50s は初期リークで新たな予算を折り畳める可能性があることを示す Motorola Razr 50s は初期リークで新たな予算を折り畳める可能性があることを示す Sep 07, 2024 am 09:35 AM

Motorola は今年数え切れないほどのデバイスをリリースしましたが、そのうち折りたたみ式デバイスは 2 つだけです。ちなみに、世界の大部分ではこのペアが Razr 50 および Razr 50 Ultra として受け入れられていますが、Motorola は北米では Razr 2024 および Razr 2 として提供しています。

See all articles