deezus blog

.Net Core、Typescriptを中心に技術的ノウハウを公開しています

データベース

PostgreSQLでテーブル一覧を取得する方法

PostgreSQLでテーブル一覧を取得する場合は下記のクエリを実行すれば取得できます SELECT relname FROM "pg_stat_user_tables" WHERE schemaname='public' なお、PostGISを使用する場合はWHERE schemaname='public'を付けないとPostGIS関連ものが含まれてし…

DockerでMySQL8を使う場合、パスワード認証をmysql_native_passwordにする方法

Node.jsでMySQLに接続できない MySQL8はパスワードでの認証方法(caching_sha2_password)が5.7以前(mysql_native_password)と変わりました そのため対応するドライバでない場合、うまく認証ができずMySQLに接続できません 例えばNode.jsでmysqlを使用して接続…

テーブルのカラムにチェック制約を追加する方法

はじめに 例えば年齢制限のあるシステムなどデータベースに登録できる値に制限をかけたい場合があります そのようなカラムにチェック制約を追加すれば、条件に合わない値を登録しようとした場合エラーにすることができます クエリ例 以下の例ではusers.ageに…

インデックスに含まれるカラムのALTER

既存テーブルのカラムの型やサイズの変更を行う場合、下記ALTER文で行います SQL Server ALTER TABLE [table_name] ALTER COLUMN [column_name] VARCHAR(100) PostgreSQL ALTER TABLE "table_name" ALTER COLUMN "column_name" VARCHAR(100) MySQL ALTER TAB…