Externalization of postgreSQL database from windows comtainer - postgresql

I have an APP running inside container on windows 2016 platform . The app uses the postgreSQL database .we want to persist the database when container destroy and another container up again . So we want to persist the database record . I see the postgress container for Linux platform but not for windows container .We are using window server core image as base . Can someone suggest how can we persist database info.
Thanks
Ravi

The program will run in the Windows container. The DB will run in a Linux container. Since they're in different containers, the OS needn't be the same. You'll simply be connecting to the DB over a URL in a network.

Related

Docker problem - Springboot container can't retrieve data from PostgreSQL container

i have very strange truble with Docker containers communication, here what i did:
1)I configured a Docker bridge network
2)I created PostgreSQL image and started it in bridge network (same of step 1)
3)I connected and filled PostgreSQL container with data using DBeaver from the host.
4)I created and started SpringBoot app container inside the bridge network. The SprigBoot app container connects correctly with PostgreSQL container.
Here's the problem: i can retrieve all data i want from PostgreSQL container using Dbeaver on same host or using my not-conteinerized SpringBoot app. But i can't retrieve data from the same PostgreSQL container using SpringBoot app container (in the same bridge network described in step 1).
It looks like SpringBoot app container can access only table's structures but it can't access data.
-I tried to modify postgresql conf allowing access from all hosts
I solved the problem my own and here is the solution:
Even though I started the docker postgres:12 image the default postgres server that was being started was v15. I noticed this problem by doing "test connection" from DBeaver. For this reason i could see only table's structures but can't access data. I solved the problem uninstalling Postgres server v15 (I was not using it) so the default version became v12.

Setting up Heroku with mongodb without using MLAB

Most of the documentation Ive seen only covers using mLab as a service for mongodb on heroku,
I would like to use mongoDB locally on the heroku server is this possible?
Heroku dynos use an ephemeral filesystem. This means that you cannot run a database on a Heroku dyno. All of the data will be lost whenever your process restarts. Your process restarts at least once every day, whenever you deploy new code, whenever you change config variables, or whenever you update add-ons.
You can read more about Heroku's ephemeral filesystem here: https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem
You can read more about dyno restarts here: https://devcenter.heroku.com/articles/dynos#restarting
So you will have to use a Heroku Add-on or a third-party service to add persistence to your application.
This doesn't mean you have to use the mLab Add-on. If you have your own MongoDB database, you can still connect to that in your application. You can add the connection string as a config variable and connect to it in the same way you would connect to an mLab Add-on.

Heroku Postgres configure data center location

My understanding is that Heroku Postgres runs on top of AWS. Is it possible to configure which datacenter your database is running in? I'm also wondering if the database files are stored on an encrypted filesystem.
Yes, Heroku runs on AWS. But you are not able to specify which datacenter to run your database. For encryption look at http://www.postgresql.org/docs/current/static/pgcrypto.html.
Heroku runs out of Amazon US-East - once you've add a postgres db to your app heroku config will give you the database connection URL which you would be able to tracert on to see where it is

ideal vm setup for meteor with shared folder

situation
Hello, I run arch Linux for which there is no meteor package and have an Ubuntu server run within virtualbox for web development. There is a shared folder I mount through database. hich means I can code in to the active environment.
However, like many others, I have a problem with mongodb starting up, specifically the exit code 100.
tracing the problem:
I created the /data/DB directory
gave access rights to my user
ran mongod on its own with no problems
Still I have the issue though.
Question
Where is the configuration file for mongodb which is installed with meteor so I can move it and do I need to create rights for a 'mongodb' user?
Question
What would be the ideal virtual machine for running a meteor development environment in the above set up? Having to create the data directory in the first place tells me Ubuntu server isn't ideal. some extra documentation available to answer this second question appearing on the meteor website would be beautiful
MongoDB does not work correctly on virtualbox shared folders. By default, meteor creates a mongo database in your project's directory, however you can override this behavior with the MONGO_URL environment variable. If you set this variable, meteor will not try to start mongo and will instead connect directly to the mongo endpoint you specify. This allows you to setup mongo however you like (eg using the Ubuntu mongodb package), with data somewhere not in the shared folder.

Postgresql cluster initialization

SQL distributes pre-initialized catalog cluster but for postgresql we need initialize cluster using initdb and a network service account. It fails in few cases and causing bit of misery!
Can initialize cluster ourselves and distribute pre-initialized cluster?
Thanks
The "cluster" (or data directory) depends on the operating system and the architecture. So a data directory that was initialized with initdb on a 32bit Linux will not work on a 64bit Windows.
But you don't need to do that. A service account is only necessary if you want to run PostgreSQL as a service.
You can easily use the ZIP distribution to install and start Postgres without the need for a full-fledge installation or a service account.
The steps to do so are:
Unzip the binaries
Run initdb pointing it to the directory where the database cluster should be created.
Run pg_ctl to start the server.
Note that the steps 2) and 3) must be run using the same user, otherwise the server will have no priviliges to write to the data directory.
These steps can easily be put into a batch file or shell script.
Hard to understand your question, but I think you are talking about the Windows installer for PostgreSQL. Right? What version, what installer, what about error messages, loggings, etc. ?
The installer can be found here.
SQL = database language, SQL Server =
Microsoft database product