※当サイトの記事には、広告・プロモーションが含まれます。

PostgreSQL for Visual Studio Code (Preview)で踏み台サーバー経由の接続を試してみる

www.itmedia.co.jp

 KDDIは8月14日、東京ビッグサイトで8月16~17日に開催される「コミックマーケット106」(コミケ106)にあわせ、屋外の通信対策を前年比で約2倍に強化すると発表した。

KDDI、コミケの通信対策を前年比約2倍に 臨時基地局は5台→9台へ - ITmedia NEWS

2024年12月の「コミックマーケット105」でも臨時の対策を実施したが、「想定以上の来場者数」により一部で体感品質の劣化が確認されたことから、安定した通信提供を目的に拡充するという。

KDDI、コミケの通信対策を前年比約2倍に 臨時基地局は5台→9台へ - ITmedia NEWS

 同社は24年12月のコミケ105で、車載型基地局2台と可搬型基地局3台の計5台を臨時設置していた。今回のコミケ106では、5G(Sub6)および5G SAに対応した車載型基地局3台と可搬型基地局6台の計9台を屋外に臨時で設置する

KDDI、コミケの通信対策を前年比約2倍に 臨時基地局は5台→9台へ - ITmedia NEWS

 コミックマーケットは1975年に開始した、国内最大級の同人誌即売会。1日あたり十数万人が来場する。KDDIは平常時から東京ビッグサイトの館内および周辺にSub6基地局を設置し、5G SAサービスを提供しているが、コミケでは特に開場前の待機列などで通信環境が不安定になる恐れがあるとして、臨時の通信対策を実施している。

KDDI、コミケの通信対策を前年比約2倍に 臨時基地局は5台→9台へ - ITmedia NEWS

⇧ とりあえず、「KDDI」以外の「電気通信事業者」の対応が気になるのだが、

internet.watch.impress.co.jp

 8月16日・17日に東京ビッグサイト(東京都江東区)で開催される「コミックマーケット106」を前に、KDDI株式会社とソフトバンク株式会社が、混雑の中でも快適なモバイル通信を実現するため、移動基地局の投入や、5Gの環境整備などの通信品質対策を発表した。

1日に10万人超が集まる「コミケ106」に向け、携帯キャリアが臨戦態勢に - INTERNET Watch

⇧ 一応、メジャーどころの「大手通信キャリア」と呼ばれる会社は対応しているらしい。

混雑時の通信回線の検証に持って来いな気がするので、力を入れている企業は流石という気がしますな。

検証結果の統計データを取っておいて欲しいお気持ち。

ちなみに、「コミックマーケット」の歴史について、Wikipediaによると、

コミックマーケットComic Market、略称:コミケコミケット)とは、コミックマーケット準備会が主催する世界最大の同人誌即売会である1975年12月21日批評集団迷宮'75」によって開始された。現在は年2回の開催で、夏は8月、冬は12月に開催される

コミックマーケット - Wikipedia

⇧ 2025年の12月に開催されれば、50周年ということになるのか、結構な歴史がありますな。

コミックマーケット開催まで

コミックマーケットのように自主制作本を頒布するイベントの起源は、1939年アメリカニューヨークで行われたワールドコンだと言われている。また1960年代に入ると、漫画・SF映画などに積極的に興味を示す人々が出現、同時に表現の場としての同人誌が多数制作されるようになった。

コミックマーケット - Wikipedia

1966年12月、長井勝一が主宰する日本初の青年漫画雑誌『月刊漫画ガロ』(青林堂)に対抗して、手塚治虫オルタナティブ志向の漫画雑誌『COM』(虫プロ商事)を創刊した。その後、同誌1967年3月号で、読者や漫画家予備軍としての同人作家を全国的に組織化する野心的な構想を発表し、これを「ぐら・こん」と称した。すなわち、同人作家のプロデビューの道筋を示したものである。

コミックマーケット - Wikipedia

この構想は『COM』の路線転換や休刊(1971年12月号)もあり失敗に終わったが、漫画同人誌に与えた影響は大きかった

コミックマーケット - Wikipedia

まんが批評集団迷宮'75」がコミックマーケットを立ち上げるまでに至った主なきっかけは、SF大会を模して開催された「日本漫画大会」や流行の端境期に直面していた旧来の漫画と漫画評論への反発、そして「ぐら・こん」の挫折を繰り返さず、まんがマニアのための新たなフィールドを作り出すということにあった。グループの全活動を一貫していたものは、単なるまんがマニアに一体何ができるのかという意識である

コミックマーケット - Wikipedia

また「日本漫画大会」を批判したある前回参加者が参加を拒否された事件があったことから「迷宮'75」はこれを告発するとともにコミックマーケットでは批判者を排斥しない理念が形作られることになった。

コミックマーケット - Wikipedia

そして「日本漫画大会」や「マンガフェスティバル」などではイベントの一つに過ぎなかった同人誌即売会を独立させ、「ファンのファンによるファンのためのイベント」を目標にした。

コミックマーケット - Wikipedia

従って「ぐら・こん」のようにプロ漫画家予備軍ではなく、また「日本漫画大会」のようにプロの漫画家を登壇させる漫画イベントの一つでもなく、ただ同人誌を描き頒布するならば誰でも参加できる「マーケット(=市場)」となった。

コミックマーケット - Wikipedia

⇧ とありますと。

一応、「同人誌」を作成・頒布することが大前提っぽいのだが、「コスプレイヤー」との関係はというと、

コスプレとは漫画アニメゲームなどの登場人物やキャラクターに扮する行為を指す。それらのジャンルの愛好者や同人サークルが集まるコミックマーケット同人誌即売会を始めとする各種イベント、また、ビジュアル系バンドのライブ会場等で見かけられる。コスプレを行う人をコスプレイヤー (cosplayer) 、レイヤー(layer)と呼ばれる。

コスプレ - Wikipedia

コスプレはコスチューム・プレイを語源とする和製英語だが、世界中で通用する単語であり英語表記のcosplayは、イギリスオックスフォード英語辞書に載っている英単語である

コスプレ - Wikipedia

歴史

「コスチュームプレイ」という和製英語の登場

同人誌即売会等でもコスプレは行われており、漫画やアニメの扮装をすることをコスチュームプレイと呼ぶようになったのは、コミックマーケットコミケットコミケ)代表者の米澤嘉博を中心したメンバーだった

コスプレ - Wikipedia

日本のメディアでは、アニメ雑誌等が同人誌即売会に関連してコスプレを少しずつ取り上げ始めたが、特に大きく取り扱ったのは、ラポート発行の『ファンロード1980年8月号(創刊号)で、同誌は、当時原宿を席巻していたタケノコ族を捩り、原宿にコスプレ集団「トミノコ族」が現われたとする「特集記事」を掲載した

コスプレ - Wikipedia

トミノコ」は『機動戦士ガンダム』の富野由悠季監督に由来するもので、記事には『機動戦士ガンダム』の登場人物やモビルスーツガンダムの仮装をした人々が踊っている写真が掲載された。実際には、当時そのような風俗は存在せず、これは報道記事の体裁を採った映画宣伝企画だった

コスプレ - Wikipedia

出版プロデューサーの高橋信之は、1983年秋田書店マイアニメ」に『コスチュームプレイ大作戦』の連載を開始したが、担当者の町山智浩から「コスチュームプレイ」は英語として正しくないとの指摘を受け、「コスプレ」という言葉を造語し、連載タイトルを『コスプレ大作戦』としたと述べている

コスプレ - Wikipedia

1984年週刊ヤングジャンプ1984年11月23日号に掲載された江口寿史短編群『寿五郎ショウ』中の作品『素人勝ち抜き漫画合戦』に「コスプレ(※)だけには自信があります」と『うる星やつらラムコスプレーヤーが発言、欄外に「※コスプレ→コスチュームプレイの略」と註が付されており、「コスチュームプレイ」や「コスプレ」という言葉の認知度がこの頃高まっていたことが窺える。

コスプレ - Wikipedia

アメリカでは、1970年代後半にSF映画スター・ウォーズ』の人気によりコスプレはポピュラーとなり、日本のアニメ人気によりアメリカ全土で行われるようになったアニメコンベンションなどのイベントでは日本の漫画アニメのキャラクターに扮する光景が見られるようになっている。そこでは従来の masquerade ではなく、和製英語由来の cosplay の名称で呼ばれている

コスプレ - Wikipedia

⇧ とあり、「コスプレ」という用語としては、1983年が初出らしい。

なのだが、「コスプレイヤー」という用語については初出がよく分からない...

1990年代での発展

1990年代にコスプレの人口は増大し、コミケコスプレイヤー1991年には約200人、1994年に約6,000人、1997年には約8,000人を数えた

コスプレ - Wikipedia

この背景としていくつかの事象が重なる。まず、直接的な背景としてはアニメ『新世紀エヴァンゲリオン』の流行等でサブカルチャーに注目が集まるようになり、コスプレという用語・行為も普及したことが挙げられる。

コスプレ - Wikipedia

間接的な背景としては1990年代初頭のヴィジュアル系バンドブームであり、特に火付け役となったX JAPANを筆頭にファンによる凝ったコスプレが披露される傾向を見せ、この傾向は2007年の復活後にも少数ながら見ることができ、他のヴィジュアル系バンドのコスプレにおいても同様なファンが続いた。

コスプレ - Wikipedia

また、日本におけるハロウィンの定着もこの時期と重なる。1997年より東京ディズニーランドにおけるハロウィンイベントや、川崎市におけるカワサキハロウィン等のイベントが先駆けとなり、仮装する文化が定着する契機を作ることとなる。

コスプレ - Wikipedia

これらを継続的な趣味として続ける者は「コスプレイヤー」と呼ばれるようになった。これらコスプレの定義は海外へも逆輸入されることとなり、昨今の世界的なコスプレイヤーの考え方として寄与する結果となった。

コスプレ - Wikipedia

⇧ 上記の内容的に、「コスプレ」は「漫画」以外の影響もあるようだが、「コミックマーケット」の誕生に影響を与えたのは「漫画」ということになりそうですね。

とりあえず、

コミックマーケットが抱える問題コミックマーケットがかかえるもんだい)ではコミックマーケット準備会が主催する同人誌即売会であるコミックマーケットComic Market、通称:コミケあるいはコミケット)が抱える問題と課題を挙げる。

コミックマーケットが抱える問題 - Wikipedia

この歴史の一面を見た場合、ある意味では漫画アニメなどを主軸とする同人の世界が数々の諸問題の影響などを乗り越えてきた歴史を反映している。

コミックマーケットが抱える問題 - Wikipedia

現在もまた、著作権に関する問題・描写と規制・同人イベントの参加者のモラル・イベントの肥大化とそれに付随して発生する問題を抱えている。

コミックマーケットが抱える問題 - Wikipedia

本項では、特に肥大化の進むコミックマーケットに固有の問題を列挙する。同人誌同人ゲームの抱える著作権問題、および過激な性的描写による表現などの問題は「同人誌」の項目も参照されたい。以下に挙げる諸問題の多くについては、コミックマーケット準備会が発行するカタログに概略が記載され参加者への注意も毎回喚起されているものである。

コミックマーケットが抱える問題 - Wikipedia

⇧ 問題は山積みらしいが、「同人誌」や「コスプレ」が実現できるかどうかは、原作を作り出したステークホルダーの匙加減次第ではありますな...

著作権者の黙認

一方で、コミックマーケットには著作権者である出版社やゲームソフト関連企業などによる企業ブースの出展も増えてきており、コミケットでも販売される同人作品を調査して人材発掘を行う企業も少なくなく、また現状では著作権侵害親告罪であることから、同人誌とそれを売る場であるコミックマーケットは事実上黙認されている。

コミックマーケットが抱える問題 - Wikipedia

⇧ 何と言うか、「全体主義」がまかり通っている構造は、「戦時下」と変わらない気がして恐怖でしかないのだが...

また、多くの作品を二次創作に利用されている角川グループホールディングス会長(当時)の角川歴彦は2010年に「コミケからは才能豊かなクリエーターが生まれた。出版社が著作権を独占してコミケが収縮していたら、それは生まれてこなかったかもしれない」と語っていた

コミックマーケットが抱える問題 - Wikipedia

⇧ 上記のような発言をするのであれば、原作に関わった人に還元して欲しいですな...

ちなみに、映画化などにおける「原作使用料」の少なさの問題が、日本で度々話題になっているのだが、海外でも同様の状況らしく衝撃なんだが...

全く原作者へのリスペクトが感じられないのよ...

www.itmedia.co.jp

gizmodo.com

PostgreSQL for Visual Studio Code (Preview)は、VS CodeVisual Studio Code)の拡張機能

何やら、

techcommunity.microsoft.com

⇧ 上記によると「VS CodeVisual Studio Code)」の「拡張機能」で「PostgreSQL」用のものを「Microsoft」が公開してるらしい。

気になるのは、

github.com

PostgreSQL for Visual Studio Code (Preview)

PostgreSQL for Visual Studio Code is the essential extension for working with PostgreSQL databases - locally or in the cloud. Connect, query, build, and chat with your databases with ease, including seamless Entra authentication for Azure Database for PostgreSQL.

https://github.com/microsoft/vscode-pgsql

⇧ 未だ「プレビュー版」という感じなのだろうか? 

Vagrant仮想マシンを2台構築し、内1台にPostgreSQLをインストールしておく

とりあえず、PostgreSQLが無いと始まらないので、VagrantVirtualboxで環境構築しておく。

本来であれば、業務で利用している「Microsoft Azure」で環境構築したかったのだが、お金がかかるので、ローカルで模擬的な環境を構築する。

zenn.dev

⇧ 上記サイト様を参考に環境構築を行う。

「Vagrantfile」を用意する。

■D:\work-soft\vagrant\postgresql_via_jump_server\Vagrantfile

# https://portal.cloud.hashicorp.com/vagrant/discover/almalinux/10-x86_64_v2
# IMAGE_NAME = "almalinux/10-x86_64_v2"
# IMAGE_VESION = "10.0.20250529"

# https://portal.cloud.hashicorp.com/vagrant/discover/almalinux/10
# IMAGE_NAME = "almalinux/10"
# IMAGE_VESION = "10.0.20250529"

# https://portal.cloud.hashicorp.com/vagrant/discover/almalinux/9
IMAGE_NAME = "almalinux/9"
IMAGE_VESION = "9.6.20250522"

Vagrant.configure("2") do |config|
    config.ssh.insert_key = false

    config.vm.provider "virtualbox" do |v|
        v.memory = 1024
        v.cpus = 1
    end

    # 踏み台サーバー用の仮想マシン
    config.vm.define "jump-server" do |jump|
#        # almalinux 9.6 だとOOM killerが発生するので
#        jump.vm.provider "virtualbox" do |v|
#            v.memory = 2048
#        end
        jump.vm.box = IMAGE_NAME
        jump.vm.box_version = IMAGE_VESION
        # ホストオンリーアダプター
        jump.vm.network "private_network", ip: "192.168.56.101"
        # 内部ネットワーク
        jump.vm.network "private_network", ip: "192.168.50.101", virtualbox__intnet: true
        jump.vm.hostname = "jump-server"

        jump.vm.provision "shell", privileged: true, inline: <<-SHELL
          # パスワードでSSH認証できるようにする
          sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk
          sudo sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config
          sudo sed -i 's/^#\?ChallengeResponseAuthentication .*/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
          
          # SELinux
          sudo cp /etc/selinux/config /etc/selinux/config.bk
          sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
          
        SHELL

    end

    # postgresql用の仮想マシン
    config.vm.define "postgresql-server" do |postgresql|
        postgresql.vm.provider "virtualbox" do |v|
            v.memory = 2048
            v.cpus = 2
        end
        postgresql.vm.box = IMAGE_NAME
        postgresql.vm.box_version = IMAGE_VESION
        # ホストオンリーアダプター
        postgresql.vm.network "private_network", ip: "192.168.56.10"
        # 内部ネットワーク
        postgresql.vm.network "private_network", ip: "192.168.50.10", virtualbox__intnet: true
        postgresql.vm.hostname = "postgresql-server"
#        postgresql.vm.provision "ansible" do |ansible|
#            ansible.playbook = "kubernetes-setup/postgresql-playbook.yml"
#            ansible.extra_vars = {
#                node_ip: "192.168.50.10",
#            }
#        end

        postgresql.vm.provision "shell", privileged: true, inline: <<-SHELL
          # パスワードでSSH認証できるようにする
          sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk
          sudo sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config
          sudo sed -i 's/^#\?ChallengeResponseAuthentication .*/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
          
          # SELinux
          sudo cp /etc/selinux/config /etc/selinux/config.bk
          sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
          
          # PostgreSQLのインストール
          # https://www.postgresql.org/download/linux/redhat/
          sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
          sudo dnf -qy module disable postgresql
          sudo dnf install -y postgresql16-server
          sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
          sudo systemctl enable postgresql-16
          sudo systemctl start postgresql-16
          
        SHELL
        
        postgresql.vm.provision "shell", privileged: true, reboot: true, inline: <<-SHELL
          echo 'rebooting'
        SHELL
    end

end    

⇧ 上記の内容で保存したらば、「コマンドプロンプト」などを立ち上げて「Vagrantfile」の配置されているディレクトリまで移動して、以下を実行する。

■Vagrantfileの内容で仮想マシンを構築する

vagrant up    

そしたらば、「PostgreSQL」をインストールしている方の「仮想マシン」にSSHログインして、外部から「PostgreSQL」の「データベース」に接続できるように設定ファイルを編集していく。

※ 今回は、設定ファイルのバックアップを取得していないのだけど、実際の開発現場では必ずバックアップを取得するようにしよう。

■viエディターで/var/lib/pgsql/16/data/postgresql.confの編集

sudo vi /var/lib/pgsql/16/data/postgresql.conf

以下、どのIPアドレスからの接続も受け付けるようにする。

■抜粋 /var/lib/pgsql/16/data/postgresql.conf

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -
listen_addresses = '*'
#listen_addresses = 'localhost'         # what IP address(es) to listen on;    

もう1つ変更が必要な設定ファイルも編集する。

■viエディターで/var/lib/pgsql/16/data/pg_hba.confの編集

sudo vi /var/lib/pgsql/16/data/pg_hba.conf

以下、踏み台サーバーからの接続を受け付けるようにする。

※「Virtualbox」の「内部ネットワーク」の「IPアドレス」の範囲を許可する設定を追加する。

■抜粋 /var/lib/pgsql/16/data/pg_hba.conf

# ----------------------------------
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.



# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             192.168.50.1/24         scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

 

で、「PostgreSQL」のユーザー「postgres」にパスワード「postgres」を設定する。

念のため、「PostgreSQL」のサービスを再起動しておく。

 

PostgreSQL for Visual Studio Code (Preview)で踏み台サーバー経由の接続を試してみる

VS CodeVisual Studio Code)」を起ち上げ、「拡張機能」の「PostgreSQL for Visual Studio Code (Preview)」をインストールする。

で、以下の場所に「踏み台サーバー」の情報を設定する。

自分の場合は、「Virtualbox」の「ホストオンリーアダプター」に該当する「IPアドレス」を設定している。(「VS CodeVisual Studio Code)」をホストOSにインストールしているので、ホストOSからゲストOSへの接続になるので)

「踏み台サーバー」に対しては、SSH接続になるので、「Port」は「22」を設定。

あとは、「SSL MODE」は「Disable」にしておく。

ここの「Port」は「PostgreSQL」に対してなので「5432」を設定。

PostgreSQL」に対する接続情報を設定していく。ややこしいのだが、「Port」については、「Advanced」の方で設定済みになるようだ。

で、「Save & Connect」で「PostgreSQL」の「データベース」に接続できる。

接続できたので、「SELECT」を実施してみる。

実行できました。

ただ、一括で「DDL」を出力する機能とかは無いっぽいので、「VS CodeVisual Studio Code)」の「ターミナル」とかから「PostgreSQL」に接続して、「pg_dump」とか実行するしか無い感じなんかな...

そうなって来ると、「拡張機能」の「PostgreSQL for Visual Studio Code (Preview)」とは別に「PostgreSQL」に接続するコマンドを用意しないといけなくなるってことかね?

それだったら、「A5:SQL Mk-2」とか別の「SQLクライアント」を利用すれば良い気がしてきてしまうのよね...


とりあえず、ローカル環境だと接続できたっぽいのだが、「Microsoft Azure」のサービスで構築した場合の「PostgreSQL」に対しても接続できるかは分からない...

それにしても、「踏み台サーバー」経由で接続できるならドキュメントに記載してくれれば良い気はするのだが...

毎度モヤモヤ感が半端ない…

今回はこのへんで。